【转】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 # 这个是另一个人整理的比较详细


posted on 2011-07-02 09:46  xuq  阅读(850)  评论(0编辑  收藏  举报

导航