VB.NET:来自HRESULT的异常:0x800A03EC

时间:2018-10-01 10:10:14

标签: excel vb.net

我知道这是尝试将数据传递到MS Excel时的常见错误,但这是我遇到的问题

Public Sub BackupData()
    Try
        Dim xlaap As New Excel.Application
        Dim xlworksheet As Excel.Worksheet
        Dim misvalue As Object = Reflection.Missing.Value

        xlaap = New Excel.Application
        xlaap.Workbooks.Add()
        xlworksheet = xlaap.Sheets("Sheet1")

        SqlCon.Open()
        SqlCommand = New SqlCommand("SELECT * FROM profile_tbl", SqlCon)
        SqlAdapter = New SqlDataAdapter(SqlCommand)
        SqlDataset = New DataSet
        SqlAdapter.Fill(SqlDataset)
        SQLReader = SqlCommand.ExecuteReader
        SqlCon.Close()
        'While SQLReader.Read
        For x = 0 To SqlDataset.Tables(0).Rows.Count - 1
            For y = 0 To SqlDataset.Tables(0).Columns.Count - 1
                xlworksheet.Cells(x + 1, y + 1) = SqlDataset.Tables(0).Rows(x).Item(y)
            Next
        Next
        'End While

        xlworksheet.SaveAs("D:\Reports.xlsx")
        xlaap.Quit()
End Sub

此行中的错误:xlworksheet.Cells(x + 1, y + 1) = SqlDataset.Tables(0).Rows(x).Item(y)

当我尝试用 Rows(1) Item(1)替换 Rows(x) Item(y)来测试它是否可以正常工作。现在我很困惑,因为这没有意义,除非我在某个地方犯了一个错误,但是爆炸的错误消息根本对我没有帮助。

我想知道为什么它在该行中显示该错误以及可能的解决方案。

0 个答案:

没有答案