Escribir Excel XSLR con Django

Para escribir en un excel, vamos a usar el siguiente paquete:

$ pip install XlsxWriter

Es importante notar que, este paquete es de Python y no específico a Django.

Usaremos la siguiente función para generar un documento excel:

excel\views.py

from django.shortcuts import render

import xlsxwriter

def excel_writer(request):
    filename="documents/LibroExcel.xlsx"

    data=[
        ["Nombre","Apellido","Edad"],
        ["Jon","Snow",33],
        ["Daenerys","Targaryen",25],
        ["Tyrion","Lannister",40],
        ["Jaime","Lannister",35],
        ["Cersei","Lannister",36]
    ]

    workbook = xlsxwriter.Workbook(filename)
    worksheet = workbook.add_worksheet("Hoja 1")

    for row in range(len(data)):
        for col in range(len(data[row])):
            worksheet.write(row, col, data[row][col])

    workbook.close()

    return render(request, 'csv.html')

Explicación del código anterior

Para generar un excel, es necesario indicar la ubicación (filename) y los datos (data); en esta oportunidad, los datos están representados en una matriz, ya que, la función de write() que permite escribir en el excel, recibe la posición de la fila, columna y datos; y es más fácil representarlos de esta manera.

Para trabajar con excel lo primero que tenemos que hacer es generar el archivo o workbook:

workbook = xlsxwriter.Workbook(filename)

Y una hoja de trabajo:

worksheet = workbook.add_worksheet("Hoja 1")

Esta función, recibe de manera opcional el nombre que quieras colocarle a la hoja, en este caso “Hoja 1”.

Por lo demás, lo único que hacemos es recorrer la matriz, escribir en el excel y cerrar el mismo

- Andrés Cruz

In english

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.