Ciao a tutti!!
Vi scrivo perchè ho il seguente problema. Devo esportare i dati da una datagridview ad un file .csv (formato Excel per intenderci). Ho guardato in lungo ed in largo e non riesco a trovare una soluzione al seguente messaggio di errore:
Formato vecchio o libreria di tipo non valido. (Eccezione da HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
Le operazioni che ho fatto sono state molteplici:
- Ho cambiato la lingua nelle impostazioni internazionali
- Ho impostato la lingua di installazione dell'ambiente di sviluppo alla lingua delle impostazioni internazionali
- Ho installato le dll del tools di office per visual studio 2005 (in particolar modo Microsoft Office XP Primary Interop Assemblies Registration Utility)
ma da sempre lo stesso errore.
La parte di codice in cui vado a fare l'export dati dalla datagridview al file excel è la seguente:
Grazie mille!!codice:ReDim arrCell(datagridMail.RowCount) Dim excelApp As New Excel.Application Dim excelBook As Excel.Workbook = excelApp.Workbooks.Add() ' --> ERRORE Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(1), Excel.Worksheet) excelApp.Visible = False With excelWorksheet Dim counter As Integer = 0 For Each dc As DataColumn In datatableMail.Columns .Range(arrCell(counter) & "1").Value = dc.ColumnName.ToString().Trim() .Range(arrCell(counter) & "1").ColumnWidth = 15 counter = counter + 1 Next Try counter = 2 For Each dr As DataRow In datatableMail.Rows For i = 0 To datatableMail.Columns.Count - 1 If dr(i) Is System.DBNull.Value Then .Range(arrCell(i) & counter.ToString()).Value = "" Else .Range(arrCell(i) & counter.ToString()).Value = dr(i).ToString() End If Next counter = counter + 1 Next Catch ex As Exception MessageBox.Show("NON VA", "ERRORE", MessageBoxButtons.OK) End Try excelWorksheet.SaveAs(filename) excelApp.Quit() excelApp = Nothing End With
Ciao
Rick

Rispondi quotando