【转】python生成excel文件(xls)
环境 : ubuntu
能实现的包:
sudo easy_install xlrd # 读取xls文件比较方便 缺点:不支持2007
sudo easy_install pyExcelerator # 写入比较方便
pywin32 # 功能强大 缺点:不垮平台 需要windows环境
一个简单的例子:
# -*- coding: utf-8 -*-
import pyExcelerator as pywt
w = pywt.Workbook() # 生成文件对象
wf = w.add_sheet(u'firstsheet') # 创建一个表firstsheet
for x in range(5): # 这两句循环是为了看的更清楚
for y in range(5):
wf.write(x,y,'%s%s' % (x,y,)) # 写入到具体单元格
w.save('test.xls')
样式:(如果涉及给运营导出数据 可能需要修改样式 跟html一样 是一个sytle对象控制样式)
ft = pywt.Font() # 字体对象
ft.bold = True
...其他字体属性
sy = pywt.XFStyle() # 样式属性控制所有效果 具体看该对象的属性
sy.font = ft
...其他样式效果
wf.write(0, 0, u'你好', sy) # 把样式传给单元格
用pyExcelerator读取:(我一般只需要写入就可以)
py.parse_xls('test.xls')
[(u'firstsheet',{(0, 0): u'00',(0, 1): u'01',})] 看到这个结果就能看出来 想直接找到数据可能麻烦些
用xlrd读取:
fl = xlrd.open_workbook('test.xls')
st = fl.sheets()[0]
st.nrows # 获取总行数
st.ncols # 获取总列数
st.row(2)[1] # 两种 一样的 获取
st.col(1)[2]
为了测试代码我安装的Gnumeric查看excel文件
其余文章:
http://blog.donews.com/limodou/archive/2005/07/09/460033.aspx # 这个是limodou写的
http://blog.csdn.net/suofiya2008/archive/2010/05/14/5589627.aspx # 这个是另一个人整理的比较详细