Creación de archivos Excel en .Net con OleDb

Para crear un archivo Excel en .Net se utilizan los objetos de acceso a datos OleDb:

  • OleDbConexion
  • OleDbCommand

Se utiliza la cadena de conexión

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
C:\archivosExcel\hojaExcel.xls;Extended Properties=”Excel 8.0;HDR=YES;”

Para almacenar ésta cadena de conexión en un archivo de configuración (app.config ó web.config) se declara así:

<add name="ConexionExcel" connectionString=
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
C:\archivosExcel\hojaExcel.xls.xls;Extended Properties=&quot;Excel 8.0;
HDR=YES;&quot;"/>
Más información de ésta cadena de conexión en connectionstrings.com

Ahora el código

Crear la conexión y abrirla.

String excelConnString =
ConfigurationManager.ConnectionStrings["ConexionExcel"].ConnectionString;
OleDbConnection conexion = new OleDbConnection(excelConnString);
conexion.Open();

Crear la hoja del archivo Excel

OleDbCommand comando = new OleDbCommand();
comando.Connection = conexion;

Crear la “hoja” donde estarán los datos. Se pueden crear varias hojas dentro de un archivo Excel mediante la sentencia SQL “Create Table”.

comando.CommandText = "CREATE TABLE misContactos (nombre, email)";
comando.ExecuteNonQuery();

Insertar datos a la hoja

comando.CommandText =
"INSERT INTO misContactos (nombre, email) values ('Marko Herrera', 'marko@markoherrera.info')";
comando.ExecuteNonQuery();

Finalizar

conexion.Close();

Comentarios

  1. Gracias por el código, aunque a mi me funciono de esta manera
    cmd.CommandText = "CREATE TABLE Guia0234 (nombre TEXT)";
    cmd.ExecuteNonQuery();
    cmd.CommandText = "UPDATE [Guia0234$A1:A1] SET F1= = ''";
    cmd.ExecuteNonQuery();

    ResponderEliminar

Publicar un comentario