Gerry Mac
Gerry Mac

Reputation: 21

Copying data from a datagridivew into Excel

Im using VB.net I am trying to code copying data from a datagridveiw and open a new excel workbook and pasting the data into the sheet starting at cell A1.

So far I have the code to copy the data from the datagridview, open excel but cannot find any way to automatically paste the data with the user pasting the data.

Can anyone help please!

Dim objExcel As Application = New Application
 Dim objWB As Excel.Workbook
 Try
     Me.DataGridView1.SelectAll()
     Clipboard.SetDataObject(Me.DataGridView1.GetClipboardContent())
            objExcel = CreateObject("Excel.Application")
            objExcel.Visible = True
            objWB = objExcel.Workbooks.Open("Test.xls")

            'Code Here

   Catch ex As Exception
    MsgBox(ex.Message, MsgBoxStyle.Exclamation, strTitle)

End Try

Upvotes: 0

Views: 75

Answers (2)

BachPhi
BachPhi

Reputation: 180

There is no need to RE-CreateObject since you already declare and use New

        Dim objExcel As Excel.Application = New Excel.Application
    Dim objWB As Excel.Workbook
    Dim objWs As Excel.Worksheet
    Try
        DataGridView1.SelectAll()
        Clipboard.SetDataObject(DataGridView1.GetClipboardContent())
        objWB = objExcel.Workbooks.Add(Type.Missing)
        objExcel.Visible = True
        objWs = CType(objWB.Sheets.Add(Count:=1), Excel.Worksheet)
        objWs = objWB.ActiveSheet
        objWs.Range("A1").Select()
        objWs.Range("A1").PasteSpecial(Excel.XlPasteType.xlPasteAll)

    Catch ex As Exception
        'MsgBox(ex.Message, MsgBoxStyle.Exclamation, strTitle)

    End Try

Upvotes: 1

user11982798
user11982798

Reputation: 1908

Please add sheet.paste method like this:

'Dim mySheet As Worksheet
'mySheet = ActiveWorkbook.Sheets(1)
objWB.Sheets("Sheet1").Range("a1").Select
objWB.Sheets("Sheet1").Paste

Upvotes: 0

Related Questions