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
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter