Bir Excel elektronik tablosundan veri bağlamak ve okumak için OLEDB kullanıyorum. IMEX = "1" var ve her şey yolunda. Benim sorunum, okuduğum sayfaların birkaç boş satırla başlayabilmesi ve boş satırların sayısının önemli olması. Gibi bir 5x5 grid okurken, örneğin,:Excel'den okurken boş satırlar nasıl sayılır
- - - - -
- - - - -
2 - 3 3 8
- - - - -
- - 5 2 2
burada '-' boş hücreyi temsil eder. İlk iki sıranın boş olması gerçeği önemlidir. Kılavuzun boyutu dinamiktir. Kodum ilk boş satırları görmezden geliyor gibi görünüyor. Ama satır 4 de boş satır ile fırsatlar.
OLEDB kullanarak bir Excel sayfasının başlangıcındaki boş satır sayısını nasıl sayabilirim?
Ben OLEDB kullanarak sınırlı değilim, ben yoktu olmazdı eğer ;-)
using (var adapter = new OleDbDataAdapter("SELECT * FROM [" + worksheetName + "]", connString)) {
var ds = new DataSet();
adapter.Fill(ds, "FareChart");
table = ds.Tables["FareChart"];
}
Bağlantı dizesine:
"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\""
GÜNCELLEME
Bağlantı dizesinde dosya uzantısı olarak '.xls' belirtilmesi, bu sorunu giderdi ve başlangıçta boş satırları doğru okur.
kullanarak '-' veya '0' boş hücre bir seçenek değildir temsil etmek, hücreler boş olması gerekir. Veriler aslında verdiğim örnekten daha karmaşık ve biçimlendirme üzerinde kontrolümüz yok. – RandomDev
bu yardımcı olup olmadığından emin değil: http://stackoverflow.com/questions/1138197/oledb-connection-to-excel-how-do-i-select-fixed-width-unbounded-height –
'ConnectionString' nedir? – NaveenBhat