错误hresult 0x800a03ec尝试为excel单元格赋值

时间:2016-09-15 18:15:31

标签: vb.net excel datagridview

我尝试使用以下代码将DataGridView的内容导出到Excel工作表

Dim xlApp As New Microsoft.Office.Interop.Excel.Application
Dim xlBook As Microsoft.Office.Interop.Excel.Workbook = xlApp.Workbooks.Add
Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet = CType(xlBook.Sheets(1), Microsoft.Office.Interop.Excel.Worksheet)
xlSheet.Name = "MySheet"
xlApp.Visible = True
With xlSheet
    For C As Integer = 0 To DGV_IntCalc.Columns.Count - 1
        .Range(.Cells(1, C + 1)).Value = DGV_IntCalc.Columns(C).HeaderText
        For R As Integer = 0 To DGV_IntCalc.RowCount - 1
            .Range(.Cells(R + 2, C + 1)).Value = DGV_IntCalc.Rows(R).Cells(C).Value
        Next
    Next
End With

我在.Range(.Cells(1, C + 1)).Value = DGV_IntCalc.Columns(C).HeaderText

上收到错误

我有Option Strict On所以由于后期绑定,我无法使用.Cells(1, C + 1).Value = DGV_IntCalc.Columns(C).HeaderText

我哪里错了?

1 个答案:

答案 0 :(得分:2)

即使范围只有一个单元格,您也需要插入范围的起始和结束单元格。

解决方案是改变:

.Range(.Cells(1, C + 1)).Value = DGV_IntCalc.Columns(C).HeaderText

使用:

.Range(.Cells(1, C + 1), .Cells(1, C + 1)).Value = DGV_IntCalc.Columns(C).HeaderText
相关问题