我正在将Excel文件上传到datagridview。此文件具有视图标题 (Case,Paid,Curr,Narrative1,Narrative2,Account,Grouping)。
但是,无论出于何种原因,其中一些字段可能为空(无效条目,案例编号不匹配任何内容,无论如何)。
根据我是否可以将此行上传到我的数据库是或否,我将填充两个不同的datagridviews。 datagridview2表示所有错误,datagridview3表示所有成功错误。
但是,我需要将这两个文件导出回Excel,这就是我遇到错误的地方。
例如,我的DGV看起来像这样:
我将此代码导出到Excel的代码是:
Private Sub ExportErrors(FileName)
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim path As String
Dim i As Int16, j As Int16
xlApp = New Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
For i = 0 To DataGridView2.RowCount - 2
For j = 0 To DataGridView2.ColumnCount - 1
For k As Integer = 1 To DataGridView2.Columns.Count
xlWorkSheet.Cells(1, k) = DataGridView2.Columns(k - 1).HeaderText
xlWorkSheet.Cells(i + 2, j + 1) = DataGridView2(j, i).Value.ToString()
Next
Next
Next
path = ErrorProcessedDirectory & FileName & "Error.xls"
xlWorkBook.SaveAs(path, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, _
Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue)
xlWorkBook.Close(True, misValue, misValue)
xlApp.Quit()
releaseObject(xlWorkSheet)
releaseObject(xlWorkBook)
releaseObject(xlApp)
MessageBox.Show("Export Successful")
End Sub
但我收到一条错误消息说
它指向
行xlWorkSheet.Cells(i + 2, j + 1) = DataGridView2(j, i).Value.ToString()
有人知道如何解决这个问题吗?从理论上讲,这些领域中的任何一个都可能是空的。
我正在使用Visual Studio 2010。
答案 0 :(得分:0)
尝试删除datagridview值的ToString部分,如下所示:
xlWorkSheet.Cells(i + 2, j + 1).value = DataGridView2(j, i).Value
我认为错误是由于Nothing / Null没有ToString函数
引起的