Manuel Rosa Ramos 5 de marzo de 2015 a las 11.15
   Imprimir artículo
elWebmaster.com

Creando archivos de Excel con Django Framework. Parte 2


logoooooUna funcionalidad importante que puede tener cualquier aplicaci贸n web es la de descargar archivos con informaci贸n de inter茅s que es manipulada dentro de nuestro sitio web. En este art铆culo te servimos una gu铆a para crear y descargar archivos Excel XLSX, en entorno Python con Framework Django.

聽En la edici贸n anterior revisamos c贸mo crear un archivo de Excel sencillo por medio del m贸dulo xlsxwriter, a帽adiendo im谩genes y datos en celdas y grupos de celdas. En esta ocasi贸n, avanzaremos para crear un archivo de Excel donde crearemos una tabla de datos con f贸rmulas autom谩ticas para los totales.

Empezaremos por crear la clase y definiendo el m茅todo get que vamos a sobreescribir para la generaci贸n del archivo.

Captura de pantalla 2015-03-05 a las 9.48.14

Definimos la lista de datos que ser谩n colocados en la tabla. Esta lista ser铆a elaborada con los datos que tengamos almacenados en los modelos de datos

Captura de pantalla 2015-03-05 a las 9.48.27

Creamos el archivo, definimos los formatos que utilizaremos, y colocamos la imagen y texto del encabezado de la hoja, de igual manera que se realiz贸 en la parte 1.

Ahora bien, como se mencion贸 anteriormente, en este art铆culo aprenderemos a colocar una tabla en un archivo de Excel, lo cual no es m谩s que una manera proporcionada por Excel para agrupar un rango de datos con formatos comunes y que pueden ser referenciadas con f贸rmulas. A la vez, pueden tener encabezados, filtros, y totales de filas y columnas.

Para a帽adir la tabla con xlsxwriter, se utiliza el m茅todo add_table del objeto sheet creado previamente para la hoja de trabajo, y consta de dos argumentos generales: el rango de celdas y las opciones de la tabla.

El rango de celdas puede ser especificado por medio de un string con referencia al rango completo (por ejemplo 鈥楢7:B12鈥), o especificando cuatro valores que corresponden a los pares fila-columna de las celdas de inicio y fin del rango (para ese mismo rango ser铆an los valores [8, 0, 13, 1], donde 8 y 0 son los valores de fila-columna de la celda A7, y 13 y 1 los 聽valores para B12).

En las opciones de la tabla, se especifican atributos como:

  • data: los datos en formato de lista de tuplas.
  • header_row: valor True o False para definir si se quiere o no utilizar encabezados para las columnas.
  • autofilter: para especificar si se quieren utilizar filtros para las columnas en la tabla (True o False)
  • banded_rows y banded columns: para especificar si se desea utilizar filas o columnas resaltadas por bandas.
  • first_column y last_column: para indicar si queremos resaltar la primera y/o 煤ltima columna de la tabla.
  • style: string para indicar el nombre de estilo de tabla que deseamos utilizar dentro de los estilos est谩ndar de Excel. Por defecto se utiliza 鈥楾able Style Medium 9鈥
  • name: par谩metro de tipo string que indica el nombre o identificador de la tabla y no puede existir previamente dentro de la hoja de trabajo de Excel.

En nuestro proyecto especificamos las opciones siguientes para la tabla

Captura de pantalla 2015-03-05 a las 9.48.45

Establecemos las filas inicial y final de acuerdo a la cantidad de datos que tenemos en la lista, y a帽adimos la tabla:

Captura de pantalla 2015-03-05 a las 9.48.57

Para definir la fila final, en este sumamos un uno ya que la tabla tendr谩 la cantidad de datos en la tabla m谩s dos filas (fila de encabezado y fila de totales). De esta manera tendremos la garant铆a que todos nuestros datos estar谩n incluidos en la tabla.

As铆, luego de a帽adir la url de acceso a la vista que hemos creado y ejecutar el servidor de Django podremos tener acceso a nuestro archivo:

Captura de pantalla 2015-03-05 a las 9.38.19

Pr贸ximamente, seguiremos estudiando en mayor detalle las herramientas que ofrece el m贸dulo xlsxwriter para la creaci贸n de archivos desde Django Framework.


Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Acceder