我已经检查了 django-tables2 文档,但是我没有找到将模型导出到 Excel 中不同工作表的简单方法。为简单起见,假设我有两个不同的模型:销售和产品。我想导出一个包含两个不同工作表的 Excel 文档:销售和产品。我可以使用下面显示的代码导出第一个模型,但我不确定是否有办法将 Products 模型导出到另一个工作表。任何帮助将不胜感激。
export_format = request.GET.get('_export', None)
if TableExport.is_valid_format(export_format):
table = [[Sales Table Object]]
exporter = TableExport(export_format, table)
return exporter.response('File_Name.{}'.format(export_format)) ```
最佳答案
因此,我通过使用 pandas 提出了一个简单的解决方案,可能不是最有效的。将查询集转换为 pandas 数据框并使用 pandas ExcelWriter 生成 excel,它可以针对不同的工作表完成。可能对于大数据的部署,使用像 xlsxwriter 这样的库可能更好,但它适用于我想做的事情。
iden= request.GET["id"]
output = BytesIO()
queryset = Efectivo.objects.filter(Q(id1=iden)).values()
df = pd.DataFrame(queryset)
writer = pd.ExcelWriter(output,engine='xlsxwriter')
df.to_excel(writer,sheet_name='Efectivo')
writer.save()
output_name = 'example'
output.seek(0)
response = HttpResponse(output,
content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
response['Content-Disposition'] = f'attachment; filename={output_name}.xlsx'
return response```
关于django - 使用 Django-tables2 将 Django 模型导出到 Excel(不同的工作表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73523300/