sto usando OLE DB per connettersi e leggere i dati da un foglio di calcolo Excel. Ho IMEX = "1" e tutto funziona bene. Il mio problema è che i fogli che sto leggendo potrebbero iniziare con diverse righe vuote e il numero di righe vuote è importante. Ad esempio, se stavo leggendo una griglia 5x5 come:Come contare righe vuote durante la lettura da Excel
- - - - -
- - - - -
2 - 3 3 8
- - - - -
- - 5 2 2
dove "-" rappresenta una cella vuota. Il fatto che le prime due righe siano vuote è importante. La dimensione della griglia è dinamica. Il mio codice sembra ignorare le prime righe vuote. Ma si occupa della riga vuota alla riga 4 ok.
Come posso contare il numero di righe vuote all'inizio di un foglio di Excel utilizzando OLE DB?
sto costretti ad usare OLE DB, non vorrei se io non dover ;-)
using (var adapter = new OleDbDataAdapter("SELECT * FROM [" + worksheetName + "]", connString)) {
var ds = new DataSet();
adapter.Fill(ds, "FareChart");
table = ds.Tables["FareChart"];
}
stringa di connessione:
"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
Specificando '.xls' come estensione di file nella stringa di connessione risolto questo problema e legge correttamente le righe vuote all'inizio.
Inoltre, usando '-' o '0' per rappresentare una cella vuota non è un'opzione, le celle deve essere vuoto. I dati sono in realtà più complessi rispetto all'esempio che ho fornito e non abbiamo il controllo sulla formattazione. – RandomDev
non so se questo aiuta: http://stackoverflow.com/questions/1138197/oledb-connection-to-excel-how-do-i-select-fixed-width-unbounded-height –
Qual è il tuo 'ConnectionString'? – NaveenBhat