Software development Archives - Ciberseguridad y Desarrollo https://blog.silverit.co/category/desarrollo/ SilverIT, Ciberseguridad y Desarrollo Thu, 10 Feb 2022 00:31:50 +0000 es-CO hourly 1 https://i0.wp.com/blog.silverit.co/wp-content/uploads/2020/05/cropped-silverit_logo-1.png?fit=32%2C32&ssl=1 Software development Archives - Ciberseguridad y Desarrollo https://blog.silverit.co/category/desarrollo/ 32 32 177235801 ¿Cómo generar archivos excel en Django con openpyxl? https://blog.silverit.co/como-generar-archivos-excel-en-django-con-openpyxl/ Thu, 10 Feb 2022 00:27:43 +0000 https://blog.silverit.co/?p=83 Para generar archivos en excel con openpyxl, basta con realizar una serie de pequeños pasos para configurar desde nuestra aplicación de Django. Inicialmente, debemos agregar el paquete: Luego de instalar el paquete apropiadamente, es necesario importar los paquetes necesarios dentro del view a utilizar: En este caso se debe importar el Workbook que será el […]

The post ¿Cómo generar archivos excel en Django con openpyxl? appeared first on Ciberseguridad y Desarrollo.

]]>
Para generar archivos en excel con openpyxl, basta con realizar una serie de pequeños pasos para configurar desde nuestra aplicación de Django. Inicialmente, debemos agregar el paquete:

pip install openpyxl

Luego de instalar el paquete apropiadamente, es necesario importar los paquetes necesarios dentro del view a utilizar:

from openpyxl import Workbook
from openpyxl.styles import Alignment, Border, Font, PatternFill, Side

En este caso se debe importar el Workbook que será el libro de trabajo y adicionalmente se agregan los estilos para personalizar el reporte de Excel antes de ser generado. Luego de esto puedes definir el método por el cual generaras el reporte, en este caso será realizado a través de un GET:

def get(self, request, *args, **kwargs):
        objeto_a_trabajar = Objeto.objects.all()
        wb = Workbook()
        ws = wb.active

En el código anterior, se trae de base de datos la tabla Objeto y se define a wb como el workbook para generar el archivo Excel. Después de esto se define ws como la hoja de calculo activa y en la cual se guardaran los datos. Posterior a esto podemos agregar los datos de la tabla Objeto en el archivo Excel que estamos generando:

for q in objeto_a_trabajar:
     column = str(contador) 
     ws['A' + column] = q.residing_num
     ws['B'+ column] = q.get_status_display()
     ws['C'+ column] = q.get_solicitante_type_display()
     contador += 1


nombre_archivo = "ListadoObjeto.xlsx"
response = HttpResponse(content_type="application/ms-excel")
contenido = "attachment; filename = {0}".format(nombre_archivo)
response["Content-Disposition"] = contenido
wb.save(response)
return response

Finalmente, agregamos el nombre del archivo, el tipo de response y devolvemos el objeto. Se puede agregar adicionalmente opciones para que usuarios logeados puedan descargar el archivo o decoración adicional para la personalización del archivo Excel.

The post ¿Cómo generar archivos excel en Django con openpyxl? appeared first on Ciberseguridad y Desarrollo.

]]>
83