誰かがここで私を助けてくれることを願っています...
.xlsx ファイルを DataTable に読み込んでから、C#.Net を使用して情報を処理しようとしています。
基本を実行して、OLEDB を使用して接続すると、データが読み込まれ、DataGridView に出力してデータを確認します。
私が抱えている問題は、一部のセル (ごく一部) が Excel ファイルに含まれるデータをロードしないことです。たとえば、私の例では、セル「C3」は、Excel のこの行の他のすべてのセルと同様に、一般的な形式のセルであり、その内容をロードしません。
実際のセルは MEMBERSHIP としてロードする必要がありますが、グリッドビューに出力すると空白が表示されるか、DataRow / Col 値をデバッグすると、Excel ファイルにこのセルのデータが含まれていても空白になります。このセル MEMBERSHIP の内容を 123456 のような数値に変更すると、この値は正常に読み込まれますが、値を文字に戻すと、再び空白が返されます。
セルの大部分 (15 個中 13 個) は、2 つを除いてこの行にロードされ、同じ形式です。
コードで使用している接続文字列は次のとおりです。実際にこのサイトから取得しました:):
try
{
string tabsheet = Path.GetFileNameWithoutExtension(FullFileName);
string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FullFileName + ";" + "Extended Properties='Excel 12.0 Xml;HDR=NO'";
var adapter = new OleDbDataAdapter("SELECT * FROM [" + tabsheet + "$]",connectionString);
adapter.Fill(aDataTable);
}
catch (Exception er)
{
logfile.AddToFile("GetDataTableFromCsv exception: " + er.Message);
}
立ち往生、助けて!:)