【发布时间】:2015-01-21 17:21:40
【问题描述】:
当我尝试将我的 datagridview 组件保存到 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")
【问题讨论】:
-
好的,查看
Worksheets.Add()method的参数类型 -
反正我是 vb 新手,不知道应该添加什么到
xlWorkSheet = xlWorkBook.Sheets.Add("Sheet1", , ,) -
我不知道为什么要添加更多参数,因为默认值是货物
-
问题是你传递的是
"Sheet1"的字符串名称,而不是Sheet类型的对象。