2015-02-11 105 views
0

我正在將Excel文件上傳到datagridview。該文件具有查看標題 (案例,付費,庫爾,敘述1,敘述2,帳號,分組)。VB.NET導出到包含標題的Excel

但是,其中一些字段可能因爲任何原因而爲空(無效的條目,案例號不匹配任何內容)。

根據我是否可以將此行上傳到我的數據庫是或否,我正在填充兩個不同的datagridviews。 datagridview2爲所有錯誤,datagridview3爲所有成功的錯誤。

但是,我需要將這兩個文件導出回Excel,這是我有錯誤的地方。

例如,我的DGV看起來是這樣的: enter image description here

我的代碼,這個導出到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 

但我得到一個錯誤信息說 enter image description here

它指向行

xlWorkSheet.Cells(i + 2, j + 1) = DataGridView2(j, i).Value.ToString() 

有誰知道如何解決這個問題?理論上,任何這些領域都可能是空的。

我使用Visual Studio 2010中

回答

0

嘗試刪除您的datagridview值的像這樣的ToString部分:

xlWorkSheet.Cells(i + 2, j + 1).value = DataGridView2(j, i).Value 

我相信,因爲沒有什麼/空不具備的ToString錯誤造成功能

+0

完美,工作!非常感謝 – Gerben 2015-02-11 13:59:44