好记性不如铅笔头

python && jython, 编程

如何使用xlwt来修改Excel文件

首先笔记几个网址

xlwt例子:【 https://github.com/python-excel/xlwt/tree/master/examples

xlwt API:【 http://xlwt.readthedocs.io/en/latest/api.html

xlutils API:【 http://pythonhosted.org/xlutils/index.html

安装依赖库

sudo pip install xlrd;
sudo pip install xlwt;
sudo pip install xlutils;

 xlwt可以从头开始新建一个Excel文件,但是这样比较麻烦。一般顺序是建立一个Excel文件模板,然后通过修改文件的某些字段来生成新的文件
因此,这里需要使用xlutils的copy功能。

import sys
import xlrd
import xlwt
from xlutils.copy import copy
ezxf = xlwt.easyxf

if __name__=='__main__':
	rb = xlrd.open_workbook(filename="template.xls", formatting_info=True, on_demand=True);
	wb = copy(rb);
	
	style=ezxf('font: height 0xF0; align: vert centre, horiz center') ;
	wb.get_sheet(0).write(0, 0, "Hello World", style);
	
	wb.save("new.xls");

 写入中文

xlwt默认编码是ASCII,如果要支持中文,需要使用utf8编码。
如果是使用xlwt新建一个excel表格,直接在参数中指明编码即可。
如果是使用copy方式从xlrd中拷贝,作者没有分析调用参数来源,这里笔记一种简单粗暴的办法:
1)找到xlwt的源文件,如果是python2.7,文件夹位置应该为:
/usr/local/lib/python2.7/dist-packages/xlwt/
2)修改Workbook.py,将默认编码改为utf8,如下图

Leave a Reply

16 − 11 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据