2017-09-27 11 views
-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を読み込みます

1234ボブ・ジョーンズ450 72

を持つことになり、それは単にそれを読み、データセット内ではないだろうそのセルは空白のままです。強調表示されていない行、または最初の列が強調表示されていない行は、データが完全に読み取られます。

その他の情報: アップロードしたファイルは、Microsoft Excel 97-2003の.xlsファイルです。

+0

最初のセルはどの行でも読み込まれませんか?最初の列には混合型の値が含まれていますか?そのような場合は、接続文字列にIMEXを設定すると便利です。 [YoursAndMyIdeasでのExcelの読み込み](https://yoursandmyideas.com/2011/02/05/how-to-read-or-write-excel-file-using-ace-oledb-data-provider/)を確認してください –

+0

一部の行を正しく読み込みます。すべての行は同じ書式に従います。1234 Bob Jones 40 32最初の列は常に4桁の数字で埋められます。列が正しく読み取られない唯一の時間は、ハイライト表示が黄色または赤である場合です。緑色の強調表示された行が正しく表示されるため、奇妙です。 – yithril

+0

それは完璧に働いた、ありがとう!最初のセルは整数であり、混合型ではないので、それは変です。しかたがない。 – yithril

答えて

0

接続文字列にIMEXを設定すると便利です。チェックExcel reading at YoursAndMyIdeas {適切な応答タグ付けと他の人の利益のために回答として投稿する}

関連する問題