-1
我正在導入一個excel文件並填充數據集的內容。這是第一個功能我寫:OleDBAdapter沒有正確填充數據集
Public Function ReadXLFile(ByVal FileName As String) As DataSet
Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim Ds As System.Data.DataSet
Dim MyAdapter As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName & ";Extended Properties='Excel 8.0;HDR=YES;';")
MyAdapter = New System.Data.OleDb.OleDbDataAdapter("Select * from [Sheet1$]", MyConnection)
Ds = New System.Data.DataSet
MyAdapter.Fill(Ds)
Return Ds
End Function
我現在面臨的問題是,對於某些細胞,該數據集不投入的價值,這似乎是對某些類型的excel表突出。我在excel工作表中有一行以橙色突出顯示(或在某些情況下顯示爲紅色)。它不會讀取第一列。例如,在Excel工作表它將具有
1234鮑勃·瓊斯450 72
它將讀鮑勃·瓊斯和之後它的一切,但第一小區,1234,它根本不會閱讀,在該數據集該單元格留空。對於未突出顯示的行或第一列未突出顯示的行,可以完美地讀取數據。
附加信息: 我上傳的文件是.xls文件,Microsoft Excel 97-2003。
是第一個細胞從不讀取任何行?第一列是否包含混合類型的值?如果是這種情況,在連接字符串中設置IMEX會很有幫助。檢查[Excel在YoursAndMyIdeas上閱讀](https://yoursandmyideas.com/2011/02/05/how-to-read-or-write-excel-file-using-ace-oledb-data-provider/) –
它會正確讀取一些行。所有的行都遵循相同的格式:1234 Bob Jones 40 32第一列總是填充4位數字。唯一一次它不正確地閱讀列,看起來是如果突出顯示是黃色或紅色,這很奇怪,因爲綠色突出顯示的行它讀得很好。 – yithril
工作完美,謝謝!這很奇怪,因爲第一個單元格是一個整數而不是混合類型。好吧。 – yithril