Forums Últimos mensajes - Powered by IBM
 

Ayuda con GetOleDbSchemaTable

09/03/2007 - 16:08 por Juan Suarez | Informe spam
Hola que tal?

En el post Archivo Excel no tuve ninguna respuesta, Ahora tengo la idea un
poco mas clara.
Quiero saber las columnas que estan siendo utilizadas en una hoja de calculo
en excel. La hora siempre sera la misma, lo que cambia es el numero de
columnas que se usan.
Este es el código que estoy usando:

string strConexion = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
txtArchivo.Text.ToString() + ";Extended Properties= Excel 8.0";
OleDbConnection oleCPrueba = new OleDbConnection(strConexion);

oleCPrueba.Open();

DataTable DtOtro =
oleCPrueba.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,new object[] {null,
null, "Hoja2", null});


En esta ultima linea es donde no consigo ningún resultado

Espero alguien pueda ayudarme.

Suerte y muchas gracias.

Juan Suárez
sistemasgyw@une.net.co
 

Leer las respuestas

#1 Juan Suarez
10/03/2007 - 16:02 | Informe spam
Hola que tal?

Asi he solucionado el problema:

string strConexion = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
txtArchivo.Text.ToString() + ";Extended Properties= Excel 8.0";
OleDbConnection oleCPrueba = new OleDbConnection(strConexion);

oleCPrueba.Open();

Abro el libro. Donde dice txtArchivo.Text.ToString() va la ruta donde se
encuentra el libro.



DataTable schemaTable =
oleCPrueba.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new Object [] {null,
null, "Prueba$", null });

for (int i = 0; i < schemaTable.Rows.Count; i++)

{

textBox1.Text += (schemaTable.Rows[i].ItemArray[3].ToString());

//He cambiado el indice del itemArray a 3 y me ha funcionado. en el ejemplo
creo que tiene el 2.

}

El orden de los parametros y los mismos cambian según lo que se quiera
obtener del libro. "Prueba$" es el nombre de la hoja en el llibro que he
seleccionado. Para mi caso, siempre voy a trabajar con la misma hoja,
Tambien es posible recuperar primero el nombre de las hojas y por cada hoja
sus respectivas columnas.

Estos ejemplos me ayudarón bastante.

http://support.microsoft.com/kb/309681/es
http://www.microsoft.com/spanish/ms...tanet2.asp

Suerte y muchas gracias.

Juan Suárez


"Juan Suarez" escribió en el mensaje
news:
Hola que tal?

En el post Archivo Excel no tuve ninguna respuesta, Ahora tengo la idea un
poco mas clara.
Quiero saber las columnas que estan siendo utilizadas en una hoja de
calculo en excel. La hora siempre sera la misma, lo que cambia es el
numero de columnas que se usan.
Este es el código que estoy usando:

string strConexion = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
txtArchivo.Text.ToString() + ";Extended Properties= Excel 8.0";
OleDbConnection oleCPrueba = new OleDbConnection(strConexion);

oleCPrueba.Open();

DataTable DtOtro =
oleCPrueba.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,new object[] {null,
null, "Hoja2", null});


En esta ultima linea es donde no consigo ningún resultado

Espero alguien pueda ayudarme.

Suerte y muchas gracias.

Juan Suárez



Preguntas similares