.Net の OleDb を使用して、最初の行が空になる Excel テーブルをインポートしようとしました。後でセルを Excel スタイルのセル名「A1、A2、...」にマップできるように、DataTable に空の行を保持したいと考えています。しかし、何をしても最初の行は削除されます。
Excel ファイルは次のようになります。
- - -
ABC XY ZZ
1 2 3
4 4 5
「-」は空のセルです。(インポート形式には影響しません。)
簡略化されたコード:
string cnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"file.xls\";Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\"";
string mySheet = "Sheet1$";
OleDbConnection connection = new OleDbConnection(cnnStr);
DataSet Contents = new DataSet();
using (OleDbDataAdapter adapter = new OleDbDataAdapter("select * from [" + mySheet + "]", connection))
{
adapter.Fill(Contents);
}
Console.WriteLine(Contents.Tables[0].Rows.Count); // prints: 3
Console.WriteLine(Contents.Tables[0].Rows[0].ItemArray[0]); // prints: ABC
その空の行を保持する方法はありますか?
ps: Excel から読み取るときに空の行を数える方法を見つけましたが、再現できませんでした。