Estoy usando OLEDB para conectar y leer datos de una hoja de cálculo de Excel. Tengo IMEX = "1" y todo funciona bien. Mi problema es que las hojas de las que estoy leyendo pueden comenzar con varias filas vacías y la cantidad de filas vacías es importante. Por ejemplo, si yo estaba leyendo una cuadrícula de 5x5 como:Cómo contar filas vacías al leer desde Excel
- - - - -
- - - - -
2 - 3 3 8
- - - - -
- - 5 2 2
donde '-' representa una celda vacía. El hecho de que las dos primeras filas estén vacías es importante. El tamaño de la grilla es dinámico. Mi código parece estar ignorando las primeras filas vacías. Pero se ocupa de la fila vacía en la línea 4 de acuerdo.
¿Cómo puedo contar el número de filas vacías al comienzo de una hoja de Excel usando OLEDB?
estoy restringido a usar OLEDB, yo no se si yo no tenía a ;-)
using (var adapter = new OleDbDataAdapter("SELECT * FROM [" + worksheetName + "]", connString)) {
var ds = new DataSet();
adapter.Fill(ds, "FareChart");
table = ds.Tables["FareChart"];
}
cadena de conexión:
"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\""
ACTUALIZACIÓN
Especificar '.xls' como la extensión de archivo en la cadena de conexión solucionó este problema y lee correctamente las filas vacías al inicio.
Además, el uso '-' o '0' para representar una celda vacía no es una opción, las células debe estar vacío. Los datos son en realidad más complejos que el ejemplo que he dado y no tenemos control sobre el formato. – RandomDev
no estoy seguro si esto ayuda: http://stackoverflow.com/questions/1138197/oledb-connection-to-excel-how-do-i-select-fixed-width-unbounded-height –
¿Cuál es su 'ConnectionString'? – NaveenBhat