zoukankan      html  css  js  c++  java
  • 使用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
  • 相关阅读:
    迭代器和生成器
    装饰器
    函数进阶二
    函数进阶
    函数的初识
    python基础七
    python基础六
    python基础五
    python基础四
    python2与python3的区别
  • 原文地址:https://www.cnblogs.com/chjbbs/p/4153314.html
Copyright © 2011-2022 走看看