私はOLEDBを使用してExcelスプレッドシートからデータを読み込んで読み込みます。私はIMEX = "1"を持っており、すべて正常に動作します。私の問題は、私が読んでいるシートがいくつかの空の行から始まり、空の行の数が重要であるということです。たとえば、次のような5x5グリッドを読んでいたとします。Excelから読み込むときに空の行を数える方法
- - - - -
- - - - -
2 - 3 3 8
- - - - -
- - 5 2 2
「 - 」は空のセルを表します。最初の2つの行が空であるという事実は重要です。グリッドのサイズは動的です。私のコードは最初の空の行を無視しているようです。しかし、4行目の空行を扱う。
OLEDBを使用してExcelシートの先頭に空白行の数をカウントするにはどうすればよいですか?
私はOLEDBを使用するように制限しています、私は持っていなかったではないかどう;-)
using (var adapter = new OleDbDataAdapter("SELECT * FROM [" + worksheetName + "]", connString)) {
var ds = new DataSet();
adapter.Fill(ds, "FareChart");
table = ds.Tables["FareChart"];
}
接続文字列に:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Windows\\TEMP\\e1842f90-74a7-42f2-a6fa-208396a1072e;Extended Properties=\"Excel 8.0;IMEX=1;HDR=No\""
UPDATE
接続文字列のファイル拡張子として '.xls'を指定すると、この問題が修正され、最初は空の行が正しく読み込まれます。
を返します「 - 」または「0」が空のセルを表現するためにオプションではありません、セルが空である必要があります。データは実際に私が与えた例よりも複雑であり、我々は書式設定を制御することはできません。 – RandomDev
これが役立つかどうかわからない:http://stackoverflow.com/questions/1138197/oledb-connection-to-excel-how-do-i-select-fixed-width-unbounded-height –
あなたの 'ConnectionString'とは何ですか? – NaveenBhat