2015-01-21 71 views
0

当我试图挽救我的datagridview组件练成我得到一个错误异常:0x800A03EC时添加纸张到Excel工作簿

Exception from HRESULT: 0x800A03EC

解决此行:xlWorkSheet = xlWorkBook.Sheets.Add("[Sheet1]")

有是我的代码的一部分:

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


    xlApp = New Microsoft.Office.Interop.Excel.Application 
    xlWorkBook = xlApp.Workbooks.Add(misValue) 
    xlWorkSheet = xlWorkBook.Sheets.Add("[Sheet1]") 


    For i = 0 To DataGridView1.RowCount - 1 
     For j = 0 To DataGridView1.ColumnCount - 1 
      For k As Integer = 1 To DataGridView1.Columns.Count 
       xlWorkSheet.Cells(1, k) = DataGridView1.Columns(k - 1).HeaderText 
       xlWorkSheet.Cells(i + 2, j + 1) = DataGridView1(j, i).Value 
      Next 
     Next 
    Next 

    xlWorkSheet.SaveAs("c:\users\500998877\documents\bg\dtgv1.xlsx") 
    xlWorkBook.Close() 
    xlApp.Quit() 

    Process.Start("c:\users\500998877\documents\bg\dtgv1.xlsx") 
+0

好了,查一查预计什么类型的参数为['Worksheets.Add()'方法(https://msdn.microsoft.com/en开始你的研究-us/library/office/ff838966(v = office.15).aspx) – 2015-01-21 08:13:35

+0

我是vb中的新手,无法实现我应该添加什么 'xlWorkSheet = xlWorkBook.Sheets.Add(“Sheet1”, ,,)' – 2015-01-21 08:20:09

+0

我不知道为什么我应该添加更多的参数,因为默认值是商品 – 2015-01-21 08:29:29

回答

0

未经测试,但尝试以下方法:

xlWorkSheet = xlWorkBook.Sheets.Add 
xlWorksheet.Name = "MyNewSheet" 

请注意,Excel中可能还会有一个默认的“Sheet1”实例。

你不妨与this MSDN reference page

+0

谢谢,它的工作! :) 无论如何,我找到了这样的其他方式: 'xlWorkBook = xlApp.Workbooks.Add(misValue) xlWorkSheet = xlWorkBook.Sheets.Add()' – 2015-01-21 10:02:28

相关问题