Exportar Listas a Hojas de cálculo XML
Una de las funcionalidades más importantes de nuestras aplicaciones es el intercambio de datos con otras aplicaciones de terceros o a través de Internet. Las aplicaciones empresariales gestionan tablas de datos, y muchos usuarios nos van a solicitar importar y exportar dichas tablas en forma de Hojas de cálculo para realizar operaciones de análisis más especializados.
Hoy en dia todas las aplicaciones de ofimática pueden leer y escribir en formatos estandarizados, siendo el formato XML el adoptado mayoritariamente. Con los esquemas XML se puede definir fácilmente la estructura de un documento por compleja que sea y además en un lenguaje facilmente legible por un humano.
Disponemos principalmete de dos formatos para guardar los documentos:
oOpen document: archivo comprimido en un contenedor ZIP y que contiene varios archivos y directorios.
oMicrosoft Office Open XML: archivo también comprimido y creado por Microsoft a partir de Office 2007.
Ambos formatos usan tecnologías ZIP y XML estándar, con la documentación completa disponible bajo licencia de libre uso.
Las extensiones de los archivos Open document y Office Open XML para una hoja de cálculo son ods y xlsx respectivamente.
Ambos archivos son contenedores zip con varias carpetas y ficheros xml con la estructura y contenido de la hoja u hojas de cálculo.
En la imagen siguiente se muestra la estructura de un archivo xlsx. Para un archivo ods veríamos algo similar.


Dentro de la carpeta xl\ aparecen ficheros XML dedicados a definir la estructura del Libro Excel, de los Estilos y de los Textos compartidos. También están las carpetas que contienen las Hojas de cálculo y otros componentes relacionados.
Viendo esto podríamos crear un fichero xlsx u ods simplemente con funciones de tratamiento de cadenas para los ficheros xml, añadir otros elementos como imágenes, crear la estructura de carpetas y ficheros auxiliares y finalmente comprimir todo en un fichero zip.
http://officeopenxml.com/anatomyofOOXML-xlsx.php
Los principales frameworks de .Net y Java disponen de librerías para la creación de archivos Open document y Office Open XML.
Incluso en el DOM del Visor HTML disponemos de magníficas librerías javascript como SheetJS.com, aunque esta opción solo estaría disponible en vClient con interface activo.
Lamentablemente Velneo no proporciona de forma nativa herramientas avanzadas que faciliten este trabajo.
Hoja de Cálculo XML de Excel 2003
Realmente, si nuestra única necesidad es la de exportar tablas desde Velneo, no vamos a tener la necesidad de crear hojas de cálculo complejas.
Antes de la versión Office 2007, en la que apareció Ofice Open XML, Microsoft disponía de un formato propietario también en xml que proprocionaba un mecanismo muy sencillo para el intercambio de tablas entre aplicaciones diferentes.
Este formato se denomina Hoja de Cálculo XML de Excel 2003 y tiene las siguientes ventajas:
oTodo el contenido y estructura de la Hoja de Cálculo se guarda en un archivo xml legible fácilmente por máquinas y humanos.
oEstructura sencilla que nos permitirá representar cualquier tabla de Velneo.
oSe puede abrir directamente en las aplicaciones Microsoft Office para guardarlo como un Open document xlsx u ods.
oEs un buen inicio para entender la forma de crear un fichero xlsx u ods que tienen una estructura más compleja.
Las desventajas son:
oNo es un formato abierto
oEs un formato obsoleto que solo entiende Microsoft Office aunque suficiente para representar la estructura de cualquier tabla Velneo.
oSi no disponemos de la aplicación Microsoft Office tendremos que leerlo e importarlo con procesos ad-hoc. En OpenOffice 4.x se puede importar y exportar si tenemos instalada en el equipo la máquina virtual Java.
Estos son algunos de los enlaces disponibles con las características de todos los formatos disponibles.
Esquema XML de Micrososft Office Excel 2003. Documentos excel en formato XML no comprimido.
https://en.wikipedia.org/wiki/SpreadsheetML
Microsoft Office XML formats (obsoleto). Documentos (word, excel, visio, infopath) en formato XML no comprimido creado con Office 2003.
https://en.wikipedia.org/wiki/Microsoft_Office_XML_formats
Microsoft Office Open XML. Documentos (word, excel, powerpoint, gráficos, ecuaciones, ...) en formato XML comprimido creado con Office 2007.
https://en.wikipedia.org/wiki/Office_Open_XML
OpenOffice.org XML (obsoleto). Documentos (texto, hojas de cálculo, gráficos, presentaciones) en formato XML comprimido usado por OpenOffice.
https://en.wikipedia.org/wiki/OpenOffice.org_XML
Open document. Estandar abierto para guardar documentos (texto, hojas de cálculo, gráficos, presentaciones) en formato XML comprimido.
https://en.wikipedia.org/wiki/OpenDocument
Created with the Personal Edition of HelpNDoc: Easily create Help documents