python 数据生成excel导出(xlwt,wlsxwrite)代码实例
这篇文章主要介绍了python数据生成excel导出(xlwt,wlsxwrite)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
话不多说,看代码:
fromxlwtimport* importStringIO fromapps.song.modelsimportSong defexcel_ktvsong(request): """ 导出excel表格 """ _id=request.GET.get('id',0) list_obj=Song.objects.filter(is_delete__exact=False) #djangoorm iflist_obj: #创建工作薄 ws=Workbook(encoding='utf-8') w=ws.add_sheet(u"歌曲列表") w.write(0,0,u"歌曲名称") w.write(0,1,u"歌手") #写入数据 excel_row=1 forobjinlist_obj: data_song=obj.song data_singer_name=obj.singer_name w.write(excel_row,0,data_song) w.write(excel_row,1,data_singer_name) excel_row+=1 sio=StringIO.StringIO() ws.save(sio) sio.seek(0) response=HttpResponse(sio.getvalue(), content_type='application/vnd.ms-excel') response['Content-Disposition']='attachment;filename=%s.xls'%time.strftime('%Y%m%d%H%M%S') response.write(sio.getvalue()) returnresponse else: returnHttpResponse("无数据")
上边我也是盗的,只不过当时有需求,数据量大只能用xlsxwriter,然后下边是我用xlsxwriter写的,边学边写,还请多多关照:
importxlsxwriter,StringIO output=StringIO.StringIO() workbook=Workbook(output) ifid: sheet_name=_(u"vvv") w=workbook.add_worksheet(sheet_name) else: sheet_name=_(u"vvvvvvv") w=workbook.add_worksheet(sheet_name) """表格单元格样式""" head_cell_xf=workbook.add_format({ 'font_name':'SimSun', 'bold':True, 'text_wrap':True, 'valign':'vcenter', 'align':'left', 'bg_color':'gray', 'pattern':1, 'bottom':1, 'left':1, 'right':1, 'top':1, }) body_cell_xf=workbook.add_format({ 'font_name':'SimSun', 'text_wrap':True, 'valign':'vcenter', 'align':'left', 'bg_color':'gray', 'pattern':1, 'bottom':1, 'left':1, 'right':1, 'top':1, }) w.write(0,0,'xxxx',head_cell_xf) w.write(0,1,u'xxxx',head_cell_xf) w.set_column(1,0,18) w.set_column(1,1,100) excel_row=1 #cve_id=set() #i18n_name=set() data={} ifid: res=xx.objects.get(id=id) res=res.vuls.split(';') forreinres: re=xx.objects.get(pk=xx) data[re.cve_id]=re.i18n_name[1] #w.write(excel_row,0,re.cve_id,body_cell_xf) #w.write(excel_row,1,re.i18n_name[1],body_cell_xf) #cve_id.add(re.cve_id) #cve_id.add(re.i18n_name[1]) excel_row+=1 progress_status=excel_row*100/len(res)#获取进度 else: res=xx.objects.get(pk=xx) res=res.white_list.split(',') forreinres: re=Vuln.objects.get(vul_id=re) data[re.cve_id]=re.i18n_name[1] excel_row+=1 progress_status=excel_row*100/len(res)#获取进度 w.write_column('A2',data.keys(),body_cell_xf) w.write_column('B2',data.values(),body_cell_xf) workbook.close() response=HttpResponse(output.getvalue(), content_type='application/octet-stream') response['Content-Disposition']='attachment;filename=%s.xlsx'%xxx response.write(output.getvalue()) progress_status=0 returnresponse
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。