django導出excel

PeteSchuber 9年前發布 | 2K 次閱讀 Python

def dowload_excel(req):
    import openpyxl
    from openpyxl.cell import get_column_letter
    response = HttpResponse(content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
    response['Content-Disposition'] = 'attachment; filename=mymodel.xlsx'
    wb = openpyxl.Workbook(write_only=True)
    ws = wb.get_active_sheet()
    ws.title = "MyModel"

    row_num = 0

    columns = [         (u"ID", 15),         (u"23收到", 70),         (u"Description", 70),     ]

    for col_num in xrange(len(columns)):         c = ws.cell(row=row_num + 1, column=col_num + 1)         c.value = columns[col_num][0]         c.style.font.bold = True         # set column width         ws.column_dimensions[get_column_letter(col_num+1)].width = columns[col_num][1]     queryset = [{"pk":1, "title":"aaa", "description":"description111"},                 {"pk":2, "title":"asd阿斯頓", "description":"123123asdsadasd阿斯頓asd "}]     for obj in queryset:         row_num += 1         row = [             obj["pk"],             obj["title"],             obj["description"],         ]         for col_num in xrange(len(row)):             c = ws.cell(row=row_num + 1, column=col_num + 1)             c.value = row[col_num]             c.style.alignment.wrap_text = True

    wb.save(response)     return response</pre>


 本文由用戶 PeteSchuber 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!