Цель достижения:
Хотите сбросить извлеченную таблицу на лист 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 и только что начал работать.
Но ..
Мне кажется, это очень неэффективно и неубедительно.
Итак, вы можете помочь уменьшить сложность и повысить производительность?
Совершенно другая (лучшая) реализация приветствуется!
Пожалуйста, помогите мне оптимизировать это ... с вашим опытом!