Esportare datagridview in excel

venerdì 04 dicembre 2009 - 20.44

gianbe Profilo | Newbie

Salve, ho il seguente codice che dovrebbe esportarmi un datagridview in Excel:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Integer
Dim j As Integer

xlApp = New Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")

For i = 0 To DataGridView1.RowCount - 2
For j = 0 To DataGridView1.ColumnCount - 1
xlWorkSheet.Cells(i + 1, j + 1) = _
DataGridView1(j, i).Value.ToString()
Next
Next

xlWorkSheet.SaveAs("C:\Users\Gianni\Documents\Visual Studio 2008\Projects\expoer_excel\file.xls")
xlWorkBook.Close()
xlApp.Quit()

releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)

MsgBox("You can find the file...")
End Sub

Ottengo l' errore Indice non valido (Eccezione da HRESULT: 0x8002000B (DISP_E_BADINDEX))
sulla riga: "xlWorkSheet = xlWorkBook.Sheet "sheet1")"

Qualcuno può aiutarmi?

Grazie

DavWeb Profilo | Newbie

Ciao gianbe
Credo che il problema principale sia che non esiste il Foglio "Sheet1" come è scritto nel codice
ed invece si chiama "Foglio1" prova ad usare questo nome oppure creane uno col nome specificato
es.
xlWorkSheet = xlWorkBook.Sheets.Add()
xlWorkSheet.Name = "sheet1"

Spero di esserti stato di aiuto
ciao!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5