Herramienta para exportar a XLSX

Figura
Figura. Lista de ejemplos de muestra para exportar a XLSX

La herramienta Web Tools online: Exportador XLSX nos permite trazar el proceso de ejecución del módulo xlsx.js para exportar a XLSX contenidos creados en HTML+CSS en formato WXTABLE. Este formato es el que se usa en el Gestor de tablas para exportar su contenido.

En la serie de temas que se inicia en Exportando a XLSX se explican los detalles del proceso de exportación. En este tema nos dedicaremos a explicar como funciona la herramienta para trazar el proceso.

Tal como se observa en la Figura, disponemos de una lista de ejemplos que se explican en los temas de la serie Exportando a XLSX. Al elegir una muestra se vuelca su contenido en el área de texto Objeto WXTABLE que explicaremos a continuación.

Objeto fuente de datos para exportar a XLSX

Figura
Figura. Web Tools online para exportar a XLSX desde un objeto fuente de datos en formato WXTABLE

El objeto de fuente de datos que sirve de entrada al módulo exportador se ecribe en formato JSON en el área de texto, tal como se observa en la Figura.

Es una estructura como la que usa WXTABLE para exportar sus contenidos y poder guardarlos temporalmente e importarlos posteriormente. Pero también podemos editarlo directamente.

El objeto contiene dos entradas "sheets" e "images". En el primero se relacionan una o más hojas de cálculo de un libro XLSX. En el ejemplo vemos la única hoja "Tab1". Cada hoja tiene las entradas "attributes", "styles" y "values". Los atributos permitidos se explican en el tema Características estructurales XLSX. Los estilos se explican en Estilos XLSX. Los valores se explican en el tema Contenidos de celdas XLSX. Se trata de un Array donde la primera fila es la de títulos de columnas y el resto son los valores de las celdas.

La entrada "images" es un Array con todas las imágenes a usar en el libro. Se almacenan en formato base64. Las imágenes se explican en el tema Imágenes XLSX.

El botón Construir XLSX ejecuta la acción para construir un objeto built tal como se explica en el siguiente apartado.

Objeto XLSX construido

Figura
Figura. Archivos XML construidos que componen un XLSX básico

El objeto built construido contiene los archivos XML que luego se empaquetarán en un ZIP. En el tema XLSX básico se explica cuál es el cometido de cada uno de los archivos.

Como se observa en la Figura, podemos elegir un archivo XML y ver su contenido con código resaltado. Esto nos permitirá estudiar los pormenores de cada archivo, haciendo un seguimiento a los resultados XML antes de empaquetarlos en un ZIP con el botón Crear XLSX.

Opciones para exportar a XLSX

Figura
Figura. Opciones para exportar a XLSX

Tal como se observa en la Figura, se permite modificar maxRow y maxCol que fijan la máxima fila y columna; checkView y radioView que fijan las vistas de los controles check y radio; lang que fija el idioma inglés o español a usar en la interfaz del exportador; rn que fija el salto de línea; tab que fija la tabulación o sangría que se usarán en el código de los documentos XML.

La máxima fila o columna se explica en Referencias filas y columna final. Si el valor del campo es un cero se usará la máxima fila o columna de la tabla WXTABLE. En otro caso se usará el valor que se indique en el campo. Para GoogleSheet y EXCEL web puede usarse el valor 1000 pues inicialmente esas aplicaciones disponen al menos de 1000 filas o columnas posibles.

La vista check box se explica en Control casilla de verificación. No es posible exportar este control a XLSX, pero podemos hacerlo de una forma indirecta. Con esta opción podemos exportarlo como una lista de valores 0, 1 siendo cero para el control desactivado y uno para el activado. O bien exportarlo con una vista gráfica usando los caracteres UNICODE "☐" y "☑". O bien simplemente exportar su valor 0 para desactivado y 1 para activado.

La vista botones de radio se explica en Control botones de radio. No es posible exportar este control a XLSX, pero podemos hacerlo de una forma indirecta. Con esta opción podemos exportarlo como una lista de valores del conjunto de botones, siendo una cadena vacía para el control desactivado y el valor de la opción para el activado. O bien exportarlo con una vista gráfica usando los caracteres UNICODE "⦾" y "⦿". O bien simplemente exportar sus valores.

El idioma español ("es") o inglés ("en") que se usará en el módulo exportador para devolver los mensajes de proceso y error.

El salto de línea es el que se usará en los contenidos de los archivos XML. Su finalidad es presentar el código XML de una forma más legible, aunque a efectos de exportar con menor contenido de archivo es recomendable no incluirlo para que ocupe el menor espacio posible.

Al igual que con el salto de línea, podemos incluir sangría de líneas para una mejor lectura del código de los archivos XML. Este campo indica el número de espacios que usa una tabulación.

Crear y descargar el XLSX

Figura
Figura. Crear y descargar un XLSX

Una vez creado el objeto built pasamos a empaquetarlo en un ZIP. Se usa el módulo que explicamos en el tema Gestor ZIP así como en Aplicación para descargar ZIP.

Una vez empaquetado se exponen los bytes del Buffer ZIP, tal como se muestra en la Figura. Tras esto podemos descargarlo presentándose el mensaje del resultado del proceso o bien el mensaje de error si lo hubiere. El archivo se descarga con extensión .xlsx, pero es en realidad un ZIP.