效果:点击信息导出按钮,把数据库中信息以excel文件响应给客户端
class OrderDownloadView(LoginRequiredMixin, View):
def get(self, request, order_name):
from openpyxl import Workbook
response = HttpResponse(content_type='application/octet-stream')
file_name = "%s.xlsx" % order_name
response['Content-Disposition'] = 'attachment; filename=' + file_name
response.charset = 'gbk'
module_list = Module.objects.filter(order_name=order_name)
wb = Workbook()
ws = wb.create_sheet("订单信息")
ws.append(["设备ID", "模块ID", "Chip_ID", "Pcb_ID"])
for module in module_list:
ws.append([module.dev_id, module.mm_id, module.chip_id, module.pcb_id])
wb.remove(wb['Sheet'])
wb.save(response)
return response