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を読み込みます
1234ボブ・ジョーンズ450 72
を持つことになり、それは単にそれを読み、データセット内ではないだろうそのセルは空白のままです。強調表示されていない行、または最初の列が強調表示されていない行は、データが完全に読み取られます。
その他の情報: アップロードしたファイルは、Microsoft Excel 97-2003の.xlsファイルです。
最初のセルはどの行でも読み込まれませんか?最初の列には混合型の値が含まれていますか?そのような場合は、接続文字列にIMEXを設定すると便利です。 [YoursAndMyIdeasでのExcelの読み込み](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