python根据excel生成web报表_使用python在WEB页面上生成EXCEL文件

近日写的一个程序需要在WEB服务器上生成EXCEL文件供用户下载,研究了一下找到了以下比较可行的实现方案,下面以web.py为例,把相关代码贴出来供大家参考:

首先需要下载生成EXCEL的模块,推荐使用xlwt

import xlwt

import StringIO

import web

urls = (

'/rim_request','rim_request',

'/rim_export','rim_export',

'/(.*)', 'index'

)

class rim_export:

#render = web.template.render('adsl')

def GET(self):

web.header('Content-type','application/vnd.ms-excel') #指定返回的类型

web.header('Transfer-Encoding','chunked')

web.header('Content-Disposition','attachment;filename="export.xls"') #设定用户浏览器显示的保存文件名

wb=xlwt.Workbook()

wb.encoding='gbk'

ws=wb.add_sheet('1')

ws.write(0,1,'123') #如果要写中文请使用UNICODE

sio=StringIO.StringIO()

wb.save(sio) #这点很重要,传给save函数的不是保存文件名,而是一个StringIO流

return sio.getvalue()

这个方案的好处是不需要生成临时文件,就可以把EXCEL文件以流的形式直接返回到用户浏览器

生成excel文件乱码问题

style = xlwt.XFStyle()

font = xlwt.Font()

font.name = 'SimSun' # 指定“宋体”

style.font = font

table.write(1, 1, '测试', style) # 使用 style

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值