python报表_Python生成报表
excel
def export_teachers_excel(request):
# 創(chuàng)建工作簿
wb = xlwt.Workbook()
# 添加工作表
sheet = wb.add_sheet('老師信息表')
# 查詢所有老師的信息(注意:這個地方稍后需要優(yōu)化)
queryset = Teacher.objects.all()
# 向Excel表單中寫入表頭
colnames = ('姓名', '介紹', '好評數(shù)', '差評數(shù)', '學(xué)科')
for index, name in enumerate(colnames):
sheet.write(0, index, name)
# 向單元格中寫入老師的數(shù)據(jù)
props = ('name', 'detail', 'good_count', 'bad_count', 'subject')
for row, teacher in enumerate(queryset):
for col, prop in enumerate(props):
value = getattr(teacher, prop, '')
if isinstance(value, Subject):
value = value.name
sheet.write(row + 1, col, value)
# 保存Excel
buffer = BytesIO()
wb.save(buffer)
# 將二進制數(shù)據(jù)寫入響應(yīng)的消息體中并設(shè)置MIME類型
resp = HttpResponse(buffer.getvalue(), content_type='application/vnd.ms-excel')
# 中文文件名需要處理成百分號編碼
filename = quote('老師.xls')
# 通過響應(yīng)頭告知瀏覽器下載該文件以及對應(yīng)的文件名
resp['content-disposition'] = f'attachment; filename="{filename}"'
return resp
原文地址:https://www.cnblogs.com/liuweiqc/p/11139159.html
總結(jié)
以上是生活随笔為你收集整理的python报表_Python生成报表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 动态sql列转行_SQL优
- 下一篇: vue 实现ps图片编辑_帮你解锁一个新