django导出excel详解编程语言

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

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/8091.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论