trabajar con excel desde aplicación .net

01/01/2010 - 23:54 por leonardo | Informe spam
hola, feliz año nuevo
la cuestión es la siguiente: tengo datos en una hoja de excel (filas de
datos con varias columnas); necesito extraer dichos datos para trabajar
con ellos, en una base de datos acces.
O sea, el usuario datos en hojas de excel que debo copiar y pegar en mi
aplicación (no tengo claro dónde, en qué control) ¿idea? y luego esos
datos los pondría en la tabla correspondiente de la base de datos, para
luego operar con ellos.
Si no me expliqué bien perdón, puedo ampliar a partir de vuestras dudas.
Gracias
Leonardo
 

Leer las respuestas

#1 SoftJaén
02/01/2010 - 08:35 | Informe spam
"leonardo" escribió:

O sea, el usuario datos en hojas de excel que debo copiar y pegar en mi
aplicación (no tengo claro dónde, en qué control) ¿idea? y luego esos
datos los pondría en la tabla correspondiente de la base de datos, para
luego operar con ellos.



Hola, Leonardo:

¿Y para qué quieres copiar/pegar los datos de la hoja de Excel en un
control, cuando puedes exportarlos directamente al archivo de Access?

El siguiente ejemplo muestra como crear una nueva tabla en el archivo de
Access con los datos existentes en la Hoja1 de un archivo cualquiera de
Excel:

using System.Data.OleDb;

// Configuramos una conexión OleDb con el
// libro de trabajo de Excel.
//
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=C:\Mis documentos\Libro1.xls;"
+
"Extended Properties='Excel 8.0;'";

using (OleDbConnection cnn = new OleDbConnection(connString))
{
try
{

// Creamos el comando para ejecutar la
// consulta SQL de creación de tabla.
//
string sql = "SELECT * INTO TablaExcel " +
@"IN 'C:\Mis documentos\Bd1.mdb' " +
"FROM [Hoja1$]";

OleDbCommand cmd = new OleDbCommand(sql, cnn);

// Abrimos la conexión
//
cnn.Open();

// Ejecutamos el comando
//
int n = cmd.ExecuteNonQuery();

// Obtenemos los registros afectados
//
MessageBox.Show(n.ToString());

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

Si todo ha ido bien, ya estás en disposición de operar con los datos desde
la propia base de datos de Access.

Un saludo y ¡Feliz Año Nuevo!

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares