我正在通过查询Excel工作表(使用OleDbDataAdapter)来填充数据集。这在脚本任务中的SSDT中。我已经验证了以下内容:
正在填充数据集,以使行数为554(正确,但仅将列数填充为255)
这是我的代码:
Dim theQuery As String = Dts.Variables("stMonthlyMeasurementsQuery").Value.ToString
excelFile = Dts.Variables("stFlatFileConnString").Value.ToString
connectionString = "Data Source=" + Dts.Variables("stFlatFileConnString").Value.ToString + ";Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=" + Chr(34) + "Excel 12.0 Xml;HDR=NO;IMEX=1" + Chr(34) + ";"
excelConnection = New OleDbConnection(connectionString)
Dim cscicmdExcel As New Data.OleDb.OleDbDataAdapter(theQuery, excelConnection)
Dim theCSCIData As DataSet = New DataSet
cscicmdExcel.Fill(theCSCIData, "TheData")
MsgBox("Columns: " + theCSCIData.Tables("TheData").Columns.Count.ToString)
MsgBox("Rows: " + theCSCIData.Tables("TheData").Rows.Count.ToString)
我不知道为什么当有317列数据时仅填充255列。该查询被设置为覆盖一个很大的范围(Monthly_Measurements $ A1:ZZ1000),因为它会限制在查找数据的位置。同样,我有数据通过列LE(317)。