首页 > 编程语言 > 详细

使用python在WEB页面上生成EXCEL文件

时间:2014-12-09 15:34:09      阅读:778      评论:0      收藏:0      [点我收藏+]

来自:http://blog.sina.com.cn/s/blog_5d18f85f0101bxo7.html

近日写的一个程序需要在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

使用python在WEB页面上生成EXCEL文件

原文:http://www.cnblogs.com/chjbbs/p/4153314.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!