import io
import time
import xlwt
def set_worksheet():
workbook = xlwt.Workbook(encoding="utf-8")
worksheet = workbook.add_sheet(" ")
worksheet.write(0, 0, label=" ")
worksheet.write(0, 1, label=" ")
worksheet.write(0, 2, label=" ")
worksheet.write(0, 3, label=" ")
worksheet.col(0).width = 5000
worksheet.col(1).width = 4000
worksheet.col(2).width = 5000
worksheet.col(3).width = 4000
return workbook, worksheet
class ExportOrderHandler(BaseHandler):
async def get(self):
workbook, worksheet = set_worksheet()
order_list = [] #
key_map = {
0: "order_no",
1: "order_type",
2: "money",
3: "create_at",
}
for index, item in enumerate(order_list):
for col in range(len(key_map.keys())):
worksheet.write(index + 1, col, label=item.get(key_map.get(col)))
sio = io.BytesIO()
workbook.save(sio)
# window.url() url,
self.set_header('Content-Type', 'application/x-xls')
self.set_header('Content-Disposition',
'attachment; filename={}.xls'.format(time.strftime('%Y%m%d%H%M%S')))
self.write(sio.getvalue())