python导出数据demo之样式设置

来源:互联网 发布:淘宝免费模块代码 编辑:程序博客网 时间:2024/04/30 09:57
此demo包含了导出excal的各种样式格式设置
# -*- encoding=utf-8 -*-
import xlwtfrom xlwt import *
import StringIO
#导出数据def exportdata(request):    #获取id    id=request.session['staffId']    db = con["BDFS"]["Staff"]    where_dict = {"_id":ObjectId(id)}    userName=db.find_one(where_dict)["name"] #制表人    visit=request.GET.get("visit") #查询类型 来信/来访日期    if visit!="":        visit2=visit[0:4]+"/"+visit[5:7]+"/"+visit[8:10]    else:        visit2=" "    date_start=request.GET.get("date_start")#//开始时间    if date_start!="":        date_start2=date_start[0:4]+"/"+date_start[5:7]+"/"+date_start[8:10]+"-"    else:        date_start2=" "    date_end=request.GET.get("date_end") #结束时间    if date_end!="":        date_end2=date_end[0:4]+"/"+date_end[5:7]+"/"+date_end[8:10]    else:        date_end2=" "    revisit=request.GET.get("revisit") #是否忽略重访    zhibiaodate=str(datetime.datetime.now())[:10]#制表日期    zhibiaodate2=zhibiaodate[0:4]+"/"+zhibiaodate[5:7]+"/"+zhibiaodate[8:10]    book = Workbook(encoding='utf-8')    sheet = book.add_sheet('Sheet1') #创建一个sheet    tall_style = xlwt.easyxf('font:height 360;') #设置字体大小样式    alignment = xlwt.Alignment() #创建居中    alignment.horz = xlwt.Alignment.HORZ_CENTER #可取值: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED    alignment.vert = xlwt.Alignment.VERT_CENTER # 可取值: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED    style = xlwt.XFStyle() # 创建样式    style.alignment = alignment # 添加居中样式    col1=sheet.col(1) #获取第1列    col1.width=280*20 #设置第一列的宽度    #循环给每一行设置样式    for x in range(0,18):        row = sheet.row(x) #获取第x行        row.set_style(tall_style) #给第x行设置样式        #从第2列开始给每一列设置宽度        if x>=2:            col=sheet.col(x) #获取第x列            col.width=150*20 #设置第x列的宽度    style2 = xlwt.XFStyle() # 创建样式    style2.alignment = alignment # 添加居中样式    style2.font.height=320 #字体大小    sheet.write_merge(0,0,0,14,'某某单位',style2)    style3 = xlwt.XFStyle() # 创建样式    style3.alignment = alignment # 添加居中样式    style3.font.height=430 #字体大小    sheet.write_merge(1,1,0,14,'某某案件(案件办理进度-按地区)',style3)    sheet.write_merge(2,2,0,14,'                制表日期:'+zhibiaodate2+'                             查询类型:'+visit2+'                              查询范围:'+date_start2+''+date_end2+'                               制表人:'+userName+'                            是否忽略重访:'+revisit+'')    sheet.write(3, 0, '',style) #给第2行的第0列插入值    sheet.write(3, 1, '',style) #给第2行的第1列插入值    sheet.write(3, 2, '省辖',style) #给第2行插入值    sheet.write(3, 3, '市辖',style)    sheet.write(3, 4, '南明',style)    sheet.write(3, 5, '云岩',style)    sheet.write(3, 6, '花溪',style)    sheet.write(3, 7, '乌当',style)    sheet.write(3, 8, '白云',style)    sheet.write(3, 9, '观山湖',style)    sheet.write(3, 10, '清镇',style)    sheet.write(3, 11, '开阳',style)    sheet.write(3, 12, '息烽',style)    sheet.write(3, 13, '修文',style)    sheet.write(3, 14, '合计',style)    sheet.write_merge(4,8,0,0,'处理情况',style) #合并第3到8行的第一列    sheet.write(4, 1, '转交其他部门处理',style) #第-----3---行赋值    sheet.write(4, 2, int(request.GET.get("shengxia_row1")),style)    sheet.write(4, 3, int(request.GET.get("shixia_row1")),style)    sheet.write(4, 4, int(request.GET.get("namming_row1")),style)    sheet.write(4, 5, int(request.GET.get("yunyan_row1")),style)    sheet.write(4, 6, int(request.GET.get("huaxi_row1")),style)    sheet.write(4, 7, int(request.GET.get("wudang_row1")),style)    sheet.write(4, 8, int(request.GET.get("baiyun_row1")),style)    sheet.write(4, 9, int(request.GET.get("guanshanhu_row1")),style)    sheet.write(4, 10, int(request.GET.get("qingzhen_row1")),style)    sheet.write(4, 11, int(request.GET.get("kaiyang_row1")),style)    sheet.write(4, 12, int(request.GET.get("xifeng_row1")),style)    sheet.write(4, 13, int(request.GET.get("xiuwen_row1")),style)    sheet.write(4, 14, int(request.GET.get("heji_row1")),style)    sheet.write(5, 1, '导入法律程序办理',style) #第----4---行赋值    sheet.write(5, 2, int(request.GET.get("shengxia_row2")),style)    sheet.write(5, 3, int(request.GET.get("shixia_row2")),style)    sheet.write(5, 4, int(request.GET.get("namming_row2")),style)    sheet.write(5, 5, int(request.GET.get("yunyan_row2")),style)    sheet.write(5, 6, int(request.GET.get("huaxi_row2")),style)    sheet.write(5, 7, int(request.GET.get("wudang_row2")),style)    sheet.write(5, 8, int(request.GET.get("baiyun_row2")),style)    sheet.write(5, 9, int(request.GET.get("guanshanhu_row2")),style)    sheet.write(5, 10, int(request.GET.get("qingzhen_row2")),style)    sheet.write(5, 11, int(request.GET.get("kaiyang_row2")),style)    sheet.write(5, 12, int(request.GET.get("xifeng_row2")),style)    sheet.write(5, 13, int(request.GET.get("xiuwen_row2")),style)    sheet.write(5, 14, int(request.GET.get("heji_row2")),style)    sheet.write(6, 1, '签订息诉承诺书',style) #第----5---行赋值    sheet.write(6, 2, int(request.GET.get("shengxia_row3")),style)    sheet.write(6, 3, int(request.GET.get("shixia_row3")),style)    sheet.write(6, 4, int(request.GET.get("namming_row3")),style)    sheet.write(6, 5, int(request.GET.get("yunyan_row3")),style)    sheet.write(6, 6, int(request.GET.get("huaxi_row3")),style)    sheet.write(6, 7, int(request.GET.get("wudang_row3")),style)    sheet.write(6, 8, int(request.GET.get("baiyun_row3")),style)    sheet.write(6, 9, int(request.GET.get("guanshanhu_row3")),style)    sheet.write(6, 10, int(request.GET.get("qingzhen_row3")),style)    sheet.write(6, 11, int(request.GET.get("kaiyang_row3")),style)    sheet.write(6, 12, int(request.GET.get("xifeng_row3")),style)    sheet.write(6, 13, int(request.GET.get("xiuwen_row3")),style)    sheet.write(6, 14, int(request.GET.get("heji_row3")),style)    sheet.write(7, 1, '经释法、析理后自愿息诉',style) #第----6---行赋值    sheet.write(7, 2, int(request.GET.get("shengxia_row4")),style)    sheet.write(7, 3, int(request.GET.get("shixia_row4")),style)    sheet.write(7, 4, int(request.GET.get("namming_row4")),style)    sheet.write(7, 5, int(request.GET.get("yunyan_row4")),style)    sheet.write(7, 6, int(request.GET.get("huaxi_row4")),style)    sheet.write(7, 7, int(request.GET.get("wudang_row4")),style)    sheet.write(7, 8, int(request.GET.get("baiyun_row4")),style)    sheet.write(7, 9, int(request.GET.get("guanshanhu_row4")),style)    sheet.write(7, 10, int(request.GET.get("qingzhen_row4")),style)    sheet.write(7, 11, int(request.GET.get("kaiyang_row4")),style)    sheet.write(7, 12, int(request.GET.get("xifeng_row4")),style)    sheet.write(7, 13, int(request.GET.get("xiuwen_row4")),style)    sheet.write(7, 14, int(request.GET.get("heji_row4")),style)    sheet.write(8, 1, '终结',style) #第----7---行赋值    sheet.write(8, 2, int(request.GET.get("shengxia_row5")),style)    sheet.write(8, 3, int(request.GET.get("shixia_row5")),style)    sheet.write(8, 4, int(request.GET.get("namming_row5")),style)    sheet.write(8, 5, int(request.GET.get("yunyan_row5")),style)    sheet.write(8, 6, int(request.GET.get("huaxi_row5")),style)    sheet.write(8, 7, int(request.GET.get("wudang_row5")),style)    sheet.write(8, 8, int(request.GET.get("baiyun_row5")),style)    sheet.write(8, 9, int(request.GET.get("guanshanhu_row5")),style)    sheet.write(8, 10, int(request.GET.get("qingzhen_row5")),style)    sheet.write(8, 11, int(request.GET.get("kaiyang_row5")),style)    sheet.write(8, 12, int(request.GET.get("xifeng_row5")),style)    sheet.write(8, 13, int(request.GET.get("xiuwen_row5")),style)    sheet.write(8, 14, int(request.GET.get("heji_row5")),style)    sheet.write(9, 1, '处理情况总结',style) #第----8---行赋值    sheet.write(9, 2, int(request.GET.get("chulizongjie_1")),style)    sheet.write(9, 3, int(request.GET.get("chulizongjie_2")),style)    sheet.write(9, 4, int(request.GET.get("chulizongjie_3")),style)    sheet.write(9, 5, int(request.GET.get("chulizongjie_4")),style)    sheet.write(9, 6, int(request.GET.get("chulizongjie_5")),style)    sheet.write(9, 7, int(request.GET.get("chulizongjie_6")),style)    sheet.write(9, 8, int(request.GET.get("chulizongjie_7")),style)    sheet.write(9, 9, int(request.GET.get("chulizongjie_8")),style)    sheet.write(9, 10, int(request.GET.get("chulizongjie_9")),style)    sheet.write(9, 11, int(request.GET.get("chulizongjie_10")),style)    sheet.write(9, 12, int(request.GET.get("chulizongjie_11")),style)    sheet.write(9, 13, int(request.GET.get("chulizongjie_12")),style)    sheet.write(9, 14, int(request.GET.get("chulizongjie_heji")),style)    sheet.write_merge(10,11,0,0,'工作情况',style) #合并第10到11行的第一列    sheet.write(10, 1, '有追债情况',style) #第----10---行赋值    sheet.write(10, 2, int(request.GET.get("shengxia_row7")),style)    sheet.write(10, 3, int(request.GET.get("shixia_row7")),style)    sheet.write(10, 4, int(request.GET.get("namming_row7")),style)    sheet.write(10, 5, int(request.GET.get("yunyan_row7")),style)    sheet.write(10, 6, int(request.GET.get("huaxi_row7")),style)    sheet.write(10, 7, int(request.GET.get("wudang_row7")),style)    sheet.write(10, 8, int(request.GET.get("baiyun_row7")),style)    sheet.write(10, 9, int(request.GET.get("guanshanhu_row7")),style)    sheet.write(10, 10, int(request.GET.get("qingzhen_row7")),style)    sheet.write(10, 11, int(request.GET.get("kaiyang_row7")),style)    sheet.write(10, 12, int(request.GET.get("xifeng_row7")),style)    sheet.write(10, 13, int(request.GET.get("xiuwen_row7")),style)    sheet.write(10, 14, int(request.GET.get("heji_row7")),style)    sheet.write(11, 1, '接受司法救助',style) #第----11---行赋值    sheet.write(11, 2, int(request.GET.get("shengxia_row8")),style)    sheet.write(11, 3, int(request.GET.get("shixia_row8")),style)    sheet.write(11, 4, int(request.GET.get("namming_row8")),style)    sheet.write(11, 5, int(request.GET.get("yunyan_row8")),style)    sheet.write(11, 6, int(request.GET.get("huaxi_row8")),style)    sheet.write(11, 7, int(request.GET.get("wudang_row8")),style)    sheet.write(11, 8, int(request.GET.get("baiyun_row8")),style)    sheet.write(11, 9, int(request.GET.get("guanshanhu_row8")),style)    sheet.write(11, 10, int(request.GET.get("qingzhen_row8")),style)    sheet.write(11, 11, int(request.GET.get("kaiyang_row8")),style)    sheet.write(11, 12, int(request.GET.get("xifeng_row8")),style)    sheet.write(11, 13, int(request.GET.get("xiuwen_row8")),style)    sheet.write(11, 14, int(request.GET.get("heji_row8")),style)    sheet.write(12, 1, '工作情况总计',style) #第----12---行赋值    sheet.write(12, 2, int(request.GET.get("gongzuoqingkuag_1")),style)    sheet.write(12, 3, int(request.GET.get("gongzuoqingkuag_2")),style)    sheet.write(12, 4, int(request.GET.get("gongzuoqingkuag_3")),style)    sheet.write(12, 5, int(request.GET.get("gongzuoqingkuag_4")),style)    sheet.write(12, 6, int(request.GET.get("gongzuoqingkuag_5")),style)    sheet.write(12, 7, int(request.GET.get("gongzuoqingkuag_6")),style)    sheet.write(12, 8, int(request.GET.get("gongzuoqingkuag_7")),style)    sheet.write(12, 9, int(request.GET.get("gongzuoqingkuag_8")),style)    sheet.write(12, 10, int(request.GET.get("gongzuoqingkuag_9")),style)    sheet.write(12, 11, int(request.GET.get("gongzuoqingkuag_10")),style)    sheet.write(12, 12, int(request.GET.get("gongzuoqingkuag_11")),style)    sheet.write(12, 13, int(request.GET.get("gongzuoqingkuag_12")),style)    sheet.write(12, 14, int(request.GET.get("gongzuoqingkuag_heji")),style)    sheet.write_merge(13,15,0,0,'案件调查',style) #合并第12到14行的第一列    sheet.write(13, 1, '正确',style) #第----12---行赋值    sheet.write(13, 2, int(request.GET.get("shengxia_row10")),style)    sheet.write(13, 3, int(request.GET.get("shixia_row10")),style)    sheet.write(13, 4, int(request.GET.get("namming_row10")),style)    sheet.write(13, 5, int(request.GET.get("yunyan_row10")),style)    sheet.write(13, 6, int(request.GET.get("huaxi_row10")),style)    sheet.write(13, 7, int(request.GET.get("wudang_row10")),style)    sheet.write(13, 8, int(request.GET.get("baiyun_row10")),style)    sheet.write(13, 9, int(request.GET.get("guanshanhu_row10")),style)    sheet.write(13, 10, int(request.GET.get("qingzhen_row10")),style)    sheet.write(13, 11, int(request.GET.get("kaiyang_row10")),style)    sheet.write(13, 12, int(request.GET.get("xifeng_row10")),style)    sheet.write(13, 13, int(request.GET.get("xiuwen_row10")),style)    sheet.write(13, 14, int(request.GET.get("heji_row10")),style)    sheet.write(14, 1, '有瑕疵',style) #第----13---行赋值    sheet.write(14, 2, int(request.GET.get("shengxia_row11")),style)    sheet.write(14, 3, int(request.GET.get("shixia_row11")),style)    sheet.write(14, 4, int(request.GET.get("namming_row11")),style)    sheet.write(14, 5, int(request.GET.get("yunyan_row11")),style)    sheet.write(14, 6, int(request.GET.get("huaxi_row11")),style)    sheet.write(14, 7, int(request.GET.get("wudang_row11")),style)    sheet.write(14, 8, int(request.GET.get("baiyun_row11")),style)    sheet.write(14, 9, int(request.GET.get("guanshanhu_row11")),style)    sheet.write(14, 10, int(request.GET.get("qingzhen_row11")),style)    sheet.write(14, 11, int(request.GET.get("kaiyang_row11")),style)    sheet.write(14, 12, int(request.GET.get("xifeng_row11")),style)    sheet.write(14, 13, int(request.GET.get("xiuwen_row11")),style)    sheet.write(14, 14, int(request.GET.get("heji_row11")),style)    sheet.write(15, 1, '错误',style) #第----14---行赋值    sheet.write(15, 2, int(request.GET.get("shengxia_row12")),style)    sheet.write(15, 3, int(request.GET.get("shixia_row12")),style)    sheet.write(15, 4, int(request.GET.get("namming_row12")),style)    sheet.write(15, 5, int(request.GET.get("yunyan_row12")),style)    sheet.write(15, 6, int(request.GET.get("huaxi_row12")),style)    sheet.write(15, 7, int(request.GET.get("wudang_row12")),style)    sheet.write(15, 8, int(request.GET.get("baiyun_row12")),style)    sheet.write(15, 9, int(request.GET.get("guanshanhu_row12")),style)    sheet.write(15, 10, int(request.GET.get("qingzhen_row12")),style)    sheet.write(15, 11, int(request.GET.get("kaiyang_row12")),style)    sheet.write(15, 12, int(request.GET.get("xifeng_row12")),style)    sheet.write(15, 13, int(request.GET.get("xiuwen_row12")),style)    sheet.write(15, 14, int(request.GET.get("heji_row12")),style)    sheet.write(16, 1, '案件评查总计',style) #第----15---行赋值    sheet.write(16, 2, int(request.GET.get("anjianpingcha_1")),style)    sheet.write(16, 3, int(request.GET.get("anjianpingcha_2")),style)    sheet.write(16, 4, int(request.GET.get("anjianpingcha_3")),style)    sheet.write(16, 5, int(request.GET.get("anjianpingcha_4")),style)    sheet.write(16, 6, int(request.GET.get("anjianpingcha_5")),style)    sheet.write(16, 7, int(request.GET.get("anjianpingcha_6")),style)    sheet.write(16, 8, int(request.GET.get("anjianpingcha_7")),style)    sheet.write(16, 9, int(request.GET.get("anjianpingcha_8")),style)    sheet.write(16, 10, int(request.GET.get("anjianpingcha_9")),style)    sheet.write(16, 11, int(request.GET.get("anjianpingcha_10")),style)    sheet.write(16, 12, int(request.GET.get("anjianpingcha_11")),style)    sheet.write(16, 13, int(request.GET.get("anjianpingcha_12")),style)    sheet.write(16, 14, int(request.GET.get("anjianpingcha_heji")),style)    sheet.write_merge(17,17,0,14,'注:因工作情况中的  “有追责情况 ”  和  “接受司法救助”  2种情况可能同时为  “是”  ,故2种情况数量之和可能不等于对应的总计数量,有工作情况记录的案件数请以总计为准。')    sio=StringIO.StringIO()    book.save(sio)   #这点很重要,传给save函数的不是保存文件名,而是一个StringIO流    response = HttpResponse()    response['Content-Type'] = 'application/vnd.ms-excel' #文件类型    response['Content-Disposition'] = 'attachment;filename={0}'.format("myExcel.xls")    sio.seek(0)    response.write(sio.getvalue())    return response  (注:页面已form表单提交数据)
0 0
原创粉丝点击