jun 30 2009

Como crear Excel usando Microsoft Office XML 2003

Category: Artículos | Web | Windowsdwaks @ 15:45

Microsoft Office XML
Definición
http://es.wikipedia.org/wiki/Microsoft_Office_XML

Como siempre digo Wikipedia define mejor que yo y los invito a leer la información que ellos tienen sobre el Microsoft Office XML que será la base de nuestro Atículo sobre la creación de archivos Excel.

Son muchas las vías que existen algunas más complejas que otras y que requieren de más recursos que otras, librerias como las propia de el excel ó la creación de páginas html con extensión .xls gracias a que el excel interpreta las páginas html. Todos estos métodos existen y son usados por muchos a diario pero en mi caso mejor hago uso de el XML SpreadSheet 2003.

Si se fijan en el link de wikipedia verán como divide el XML microsoft para la creación de un archivo Excel con todo lo necesario para que el archivo sea usado por el Excel 2003 sin ningún problema.

Nosotros podemos ir armando el XML y luego crear un archivo con esa información guardandolo con extensión .xls.

Este artículo se  basará en enseñarles una clase que brindo a la comunidad donde creo un archivo excel usando XML. Para este ar´ticulo se pueden bajar el DLL y referenciarlo en un proyecto Consola de forma rápida ó pueden bajarse el proyecto con el código fuente para que vayan viendo como se va creando el excel.

ExcelXml_Proyecto_Framework_3_5.zip (56,38 kb)

ExcelXml_DLL_Framework_3_5.zip (7,46 kb)

Creen un Proyecto Consola y hagan referencia al DLL de ExcelXML.dll, despues agregen la libreria usando "using dotnetPanama.ExcelXml;". Teniendo esto en su lugar podemos entonces ir viendo el código a continuación que hace uso de la librería. El código lleva sus comentarios para ir explicando cada parte.

001class Program
002{
003    static void Main(string[] args)
004    {
005        // Primero se crea el objeto ExcelApplication que es el principal
006        ExcelApplication app = new ExcelApplication();
007
008        // Despues se adapta 1 Worksheet
009        app.Worksheets.Add(new ExcelWorksheet());
010
011        app.Worksheets[0].Name = "dotnetPanama";
012
013        // Luego agregamos el primero Row con sus valores
014        // Ahy 2 formas de agregar Row pero usaremos la que mandamos los valores
015        // de los Cell por el constructor como Parámetos
016        app.Worksheets[0].Rows.Add(new ExcelRow(new object[] { "NOMBRE", "APELLIDO", "PAIS" }));
017
018        // Luego agregamos más rows con valores
019        app.Worksheets[0].Rows.Add(new ExcelRow(new object[] { "Marco", "Castillo", "Panamá" }));
020        app.Worksheets[0].Rows.Add(new ExcelRow(new object[] { "Jayson", "Quintero", "Panamá" }));
021        app.Worksheets[0].Rows.Add(new ExcelRow(new object[] { "Invitado", "Desconocido", "Argentina" }));
022
023        // Ya adaptado datos solo queda salvar el Archivo.
024        app.FilePath = "C:\\dotnetPanama_ExcelXML.xls";
025        app.SaveFile();
026
027        Console.Read();
028    }
029}

Los invito a que vean como construyo poco a poco el XML que al final será salvado como un archivo de Excel. Traté de hacer la librería lo más parecida a la librería propia de Microsoft y que tiene conceptos buenos que nos facilitarán en futuro poder exportar de un DataGridView a un objeto ExcelApplication y crear archivos Excel. Ya sería en otro artículo que pueda brindar la manera como yo pase un DataGridView a Excel creando una extensión a el DataGridView que es una opción nueva que nos brinda el Framework 3.5.

Solo queda decirles que si sienten que no tienen todo claro me dejan saber y trataré de ayudarles más. En este artículo pienso que ya conocen de clases, interfaces, override y el uso de IEnumerable.

Tags:

Actualmente calificado con 4.0 por 2 personas

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Comentarios