作为长期休息之后任何形式的编码的新手,我已经开始了一个工作中的小项目,我会感激一些帮助。
我有点背景 - 当项目提交到我们的办公室时,它们被输入到定制软件中,并将它们存储在MS SQL 2012 DB中。这不能改变。我们还使用本地电子表格来跟踪谁正在处理哪个项目,并且此电子表格目前已手动填充...
我已经开始使用自动脚本,如下所示,但我不知道自己是否在正确的轨道上。到目前为止,我已经使用debug.print函数来确认连接是否合理,但是当我运行此代码时,它会在行上返回一个COM异常
xlSht.Cells(i + 1, j + 1) = ds.Tables(0).Rows(i).Item(j)
有人能告诉我我的方式错误吗?
由于
'Create connection
Dim connectionstring As String
connectionstring = "Data Source=.\SQLExpress;Database=AdventureWorks2012;Integrated Security=true;"
Try
SQLConn = New SqlConnection(connectionstring)
SQLConn.Open()
Catch ex As Exception
MsgBox(ex.Message & " Error Connecting to database!", MsgBoxStyle.Critical)
Exit Sub
End Try
'run SQL query to Dataset
Dim da As SqlDataAdapter
da = New SqlDataAdapter("SELECT * from person.addresstype", SQLConn)
Dim ds As New DataSet
Dim i, j As Integer
Dim filename = "C:\Users\{user}\Desktop\testing.xlsx"
Dim xlApp, xlBook, xlSht
da.Fill(ds)
'copy data from Dataset to xlsx
xlApp = CreateObject("Excel.Application")
xlBook = xlApp.WorkBooks.Open(filename)
xlSht = xlApp.activesheet
For i = 0 To ds.Tables(0).Rows.Count - 1
For j = 0 To ds.Tables(0).Columns.Count - 1
xlSht.Cells(i + 1, j + 1) = ds.Tables(0).Rows(i).Item(j)
Next
Next
xlBook.Save()
xlApp.Close()
xlApp.Quit()
xlSht = Nothing
xlBook = Nothing
xlApp = Nothing
End Sub