【发布时间】:2011-07-28 08:21:07
【问题描述】:
目标实现: 想要将获取的表格转储到 Excel 工作表中。
我的实现:
Imports System.Data.OleDb
Private Sub getRawDataNextMonth()
Dim sheetName As String = "RawData"
Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\rawData.xlsx;Extended Properties=""Excel 12.0 XML;""")
Dim adapter As New Data.OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", con)
Dim dataSet As New Data.DataSet
adapter.Fill(dataSet)
Dim dataTable As Data.DataTable = dataSet.Tables(0)
Dim rawData(dataTable.Rows.Count, dataTable.Columns.Count - 1) As Object
Dim range As Excel.Range = WB.Sheets(sheetName).Range("A2:T" + dataTable.Rows.Count.ToString())
For col = 0 To dataTable.Columns.Count - 1
For row = 0 To dataTable.Rows.Count - 1
rawData(row, col) = dataTable.Rows(row).ItemArray(col)
Next
Next
range.Value2 = rawData
End Sub
我是数据获取和 ADO.Net 概念的新手,刚刚开始工作。 但是..
这对我来说似乎非常低效和蹩脚。
那么,您能否帮助降低复杂性并提高性能?
非常欢迎完全不同(更好)的实现!
请根据您的经验帮我优化一下!
【问题讨论】: