python查询数据库并导出成execl
第一部分:
安装并导入xlwt,StringIO(文件存储模块) 通过xlwt创建表格对象workbook,用其新建名为sheet_object 的表格
workbook= xlwt. Workbook( encoding= 'utf-8' )
sheet_object = workbook. add_sheet( 'sheet1' , cell_overwrite_ok= True )
style = xlwt. XFStyle( )
可以设置6个样式类,font,borders,aligment,pattern,protection,num_format_str
font = xlwt. Font( )
font. height = 0x00C8
font. italic = false
style. font = font
borders = xlwt. Borders( )
borders. right = borders. THIN
borders. top = borders. THIN
borders. bottom = borders. THIN
style. borders = borders
aligment = xlwt. Aligment( )
aligment. vert = aligment. VERT_CENTER
aligment. horz = aligment. HORZ_CENTER
aligment. wrap = aligment. WRAP_AT_RIGHT
style. aligment = aligment
pattern = xlwt. pattern( )
pattern. pattern = pattern. SOLID_PATTERN
pattern. pattern_fore_colour = 5
pattern. pattern_back_colour = 4
style. pattern = pattern
style. num_format_str = "MMM-YY"
style. write_merge( 0 , 0 , 0 , 2 , "" )
执行sql=’’’ ‘’’,得到字典列表并遍历 写数据 row是行,col为列,style为样式
sheet_object. write( row, col, "str" , style)
第二部分
fp = StringIO( )
workbook. save( fp)
fp. seek( 0 )
data = fp. read( )
fp. close( )
if data:
return request. make_response( data, headers= [
( 'Content-Disposition' , content_disposition( u'利用率报表.xls' ) ) ,
( 'Content-Type' , 'application/vnd.ms-excel' ) ] )
else :
print u"异常"
return False