Django Excel 导出(使用 xlwt)
Posted
技术标签:
【中文标题】Django Excel 导出(使用 xlwt)【英文标题】:Django Excel Export (using xlwt) 【发布时间】:2021-11-14 21:23:47 【问题描述】:我正在尝试将与视图中的 id 相关联的数据导出到 excel 文件中,代码如下:
from django.shortcuts import render
from clientesapp.models import Cliente, Orden
from django.http import HttpResponse
import xlwt
def excel_create(request, id):
response = HttpResponse(content_type='application/ms-excel')
response['Content-Disposition'] = 'attachment; filename="recibo.xls"'
wb = xlwt.Workbook(encoding='utf-8')
ws = wb.add_sheet('recibo')
row_num = 0
font_style = xlwt.XFStyle()
font_style.font.bold=True
columns = ['Orden', 'Cliente', 'Entrada', 'Instrumento', 'Marca',]
for col_num in range(len(columns)):
ws.write(row_num, col_num, columns[col_num], font_style)
font_style = xlwt.XFStyle()
rows = Orden.objects.get(id=id)
rows.values_list('num_orden', 'client', 'fechain', 'instrumento', 'marca')
for row in rows:
row_num +=1
for col_num in range(len(row)):
ws.write(row_num, col_num, row[col_num], font_style)
wb.save(response)
return response
我想导出到 excel 这个表,它还显示了我需要获取数据的 id: Table with id
但是这段代码向我显示了错误“Orden 对象没有属性 values_list”。 我该如何解决这个问题?
【问题讨论】:
【参考方案1】:根据QuerySet API
,你必须这样称呼它:
rows = Orden.objects.values_list('num_orden', 'client', 'fechain', 'instrumento', 'marca', flat=True).get(pk=id)
【讨论】:
谢谢兄弟,它成功了,新问题出现了,但我能够解决它们,谢谢。 很高兴为您提供帮助!..以上是关于Django Excel 导出(使用 xlwt)的主要内容,如果未能解决你的问题,请参考以下文章