DataTable To Excel con ExcelExportLib

Dejo este snippet, por si a alguno le puede servir.

Es una manera más de exportar un DataTable, o un DataSet a un fichero Excel, pero esta vez usando el formato Office Xml.

Wikipedia: http://es.wikipedia.org/wiki/Microsoft_Office_XML

Los formatos Microsoft Office XML (no confundir con Office Open XML) son formatos de documento basados en XML (o lenguajes de esquema XML) introducidos en versiones de Microsoft Office anteriores a Office 2007. En Microsoft Office XP se introdujo un nuevo formato XML para almacenar hojas de cálculo de Excel y Office 2003 añadió formatos basados en XML para documentos de Word.

Estos formatos fueron reemplazados por la especificación Office Open XML (ECMA-376) en Microsoft Office 2007.

El formato Excel xml tiene más o menos la siguiente apariencia:

image

Una de las ventajas de este formato, es la posibilidad de incluir formatos (valga la redundancia), fórmulas, etc. y que son reconocidos desde la versión 2003.

image

image

Más información acerca del formato: http://msdn.microsoft.com/en-us/library/aa140066%28office.10%29.aspx

Una exportación sencilla, no tiene ninguna complicación, pero so quisiéramos añadir ciertas complejidades, hay mucho código que escribir.

Por eso, me he apoyado en esta librería que proporciona un modelo de objetos bastante sencillo, que permite centrarse en la información a generar, y delegar el “renderizado” del documento xml.

http://excelexportlib.codeplex.com/

image

Traducción: ExcelExportLib es una librería de exportación simple que crea un archivo .xml. Este archivo puede ser abierto en Excel. Al contrario que los archivos csv, este formato contiene información de formato. La principal ventaja del proyecto es que permite la exportación de datos en Excel sin necesidad de ejecutar Excel.

A mí lo que me gustó de la librería es lo sencillita que es. Simple, pero potente.

Un ejemplo:

image

 

Bueno, y finalmente el snippet.

 

image

image

Por supuesto, al Excel generado se le pueden añadir todo tipo de formatos, fórmulas, totales, etc.

Y allí donde ExcelExportLib no llegue, siempre se puede añadir funcionalidad propia.

Normalmente para saber cómo se traduce a xml una característica del documento Excel, por ejemplo una fórmula, un formato, etc., se pueden consultar las especificaciones, pero lo más sencillo suele ser generar un documento con la características en cuestión, guardar el archivo en formato xml y ver el resultado.

Por ejemplo, ¿cómo se especifica la característica de formato condicional?

 

image

Guardamos el documento en formato xml….

image

 

Y abrimos el resultado con un editor de texto, o uno xml.

 

image

 

PD: No suelo pegar el código, por un trauma personal. He sufrido el copy-pasteado de mucha gente, y la verdad es que no se lo deseo a nadie. Por eso pongo la imagen, y que cada uno escriba su propio código. Perdón por los inconvenientes ocasionados. 😉

3 comentarios en “DataTable To Excel con ExcelExportLib”

  1. Gracias por compartir,

    Te agradeceriamos que si vas a compartir pongas el código, pues que caso tiene poner una imagen?

    Si te lo copian no pasa nada, el sol salio para todos, que no te mortifique eso. NO tiene caso compartir con la mano cerrada

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *