首页 > 编程语言 > 详细

python自动生成excel(xlwt库)

时间:2019-09-29 21:42:17      阅读:77      评论:0      收藏:0      [点我收藏+]

下面代码使用web.py框架,其他框架都大同小异。

# coding: utf-8

import web
import json
import datetime
import xlwt
import StringIO

# 如果不在前端调用接口,如下web.py框架的urls和app、render可以省略
urls = (  # web框架的路由
    /index,Index,
    /home,Home,
)
app = web.aplication(urls, globals())  # 注册应用
render = web.template.render(template)  # 模板,注意路径

#如果不在前端调用接口,如上web.py框架的urls和app、render可以省略

# 这个类,仅仅返回一个前端页面,页面里面的按钮使用ajax来请求下面其他接口,这个html内容我就不写了
class Index(object):
    def GET(self):
        return render.mubanmingzi({})

# 生成Excel文件
class Excel(object):
    def GET(self):
        web.header(Content-type, applicationvnd.ms-excel)  # 请求头,返回指定内容
        web.header(Transfer-Encoding, chunked)
        namedate = str(datetime.date.today()) 
# 设定用户浏览器生成excel文件的名字 web.header(
Content-Disposition, attachment:filname={0}.format(Excel表 + namedate + xls) # 以上都不重要,仅供参考,如下是使用python的第三方库xlwt来生成xecel文件 wb = xlwt.Workbook(encoding=utf-8) # 创建工作簿对象 ws = wb.add_sheet(sheet) # 要写入的sheet的名字,就是excel的工作台,不懂的可以去百度 bs = xlwt.Borders() # 创建边框对象,用来指定表格边框的样式(粗细,虚线实现,颜色等) bs.left = xlwt.Borders.THIN # 左侧实线 bs.right = xlwt.Borders.THIN # 右侧实线 bs.top = xlwt.Borders.THIN # 上边实线 bs.bottom = xlwt.Boeders.THIN # 下边实线 bs.left_colour = ox40 # 颜色 style = xlwt.XFStyle() # 创建样式对象 style.borders = bs # 将设置好的bs样式给style对象 # 下面开始往创建好的excel对象里面写入数据 # 我们将地0行的前5个格合并居中,用来写入注意事项
# 前两个0表示从0行到0行这个范围,第3个0表示从第0列,4表示到第5列(行列索引都从0开始),最后一个值就是要写入的内容了) ws.write_merge(
0,0,0,4,这是写入的内容)
# 设置表头
for i in range(5): ws.write(1, i, 标题{0}.format(str(i))) # 5格,1表示第二行,i表示第二行的前5格,标题0-标题4没别为每行内容 # 下面类似,写入内容 row = 2 # 第三行开始写内容数据 for i in range(10): # 写入10行 ws.write(row, 0, 内容1, style) # 内容写入,边框样式生效 ws.write(row, 1, 内容2, style) ws.write(row, 2, 内容3, style) ws.write(row, 3, 内容4, style) ws.write(row, 4, 内容5, style) row += 1 # 指定每列的宽度 ws.col(0).width = 3999 # 第0列 ws.col(1).width = 3999 # 第1列 ws.col(4).width = 6999 # 将数据流保存到本地磁盘 sio = StringIO.StringIO() # 创建数据流 web.save(sio) # 注意,这里保存的是数据流,不是文件名 sio.seek(0) # 光标,从0的位置开始写入 return sio.getvalue() # 将生成文件特效返回到浏览器,其实文件已经保存到电脑的下载文件内了。

 

python自动生成excel(xlwt库)

原文:https://www.cnblogs.com/aaronthon/p/11609837.html

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