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


來自: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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM