我知道这是尝试将数据传递到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) )来测试它是否可以正常工作。现在我很困惑,因为这没有意义,除非我在某个地方犯了一个错误,但是爆炸的错误消息根本对我没有帮助。
我想知道为什么它在该行中显示该错误以及可能的解决方案。