Estoy usando OleDb para leer de un libro de Excel con muchas hojas.Usando Excel OleDb para obtener nombres de hoja EN ORDEN DE HOJA
Necesito leer los nombres de las hojas, pero las necesito en el orden en que están definidas en la hoja de cálculo; entonces si tengo un archivo que se ve así;
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
\__GERMANY__/\__UK__/\__IRELAND__/
entonces necesito para obtener el diccionario
1="GERMANY",
2="UK",
3="IRELAND"
He intentado usar OleDbConnection.GetOleDbSchemaTable()
, y eso me da la lista de nombres, pero los ordena alfabéticamente. La ordenación alfa significa que no sé a qué número de hoja corresponde un nombre particular. Entonces lo entiendo;
GERMANY, IRELAND, UK
que ha cambiado el orden de UK
y IRELAND
.
La razón por la que necesito que se ordene es porque tengo que dejar que el usuario elija un rango de datos por nombre o índice; pueden solicitar "todos los datos de ALEMANIA a IRLANDA" o "datos de la hoja 1 a la hoja 3".
Cualquier idea sería muy apreciada.
si pudiera usar las clases de interoperabilidad de oficina, esto sería sencillo. Desafortunadamente, no puedo porque las clases de interoperabilidad no funcionan de manera confiable en entornos no interactivos como los servicios de Windows y los sitios ASP.NET, así que necesitaba usar OLEDB.
¿Qué versión del archivo de Excel está leyendo? – yamen
wow cómo dibujaste eso y cómo tuviste la paciencia para dibujar ese –
@steve puedes por favor responder mi pregunta –