标签:
如果需要使用Python写Excel文件,首先下载或者安装xlwt。
如果已经安装pip
pip install xlwt
未安装pip
# git clone https://github.com/python-excel/xlwt.git
# cd 解压目录
# python setup.py install
还是不行,来这下载吧:
下载吧。。。。
import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet Name")
sheet.write(0, 0, ‘foobar‘) # row, column, value
style = xlwt.easyxf(‘font: bold 1‘)
sheet.write(0, 0, ‘foobar‘, style)
要设置列宽,你必须将宽度属性设为 256*NUM_CHARS,其中256等于0字符的宽度。
sheet.col(0).width = 256 * (len(key) + 1)
# set width 256 = 1 width of 0 character
需要注意每一个文档的样式应该限制在4k以内,这意味着你不应该为每一个单元格初始化一个样式,而是应该复用它们(阅读后面的内容可以看到一个简单的缓存解决方案)
style = xlwt.easyxf(‘font: bold 1, color red;‘))
sheet.write(0, 0, ‘foobar‘, style)
要设置货币,在easyxf函数里添加关键词参数num_format_str,或者在返回的样式对象里设置属性。
style = easyxf(num_format_str=‘$#,##0.00‘)
# or set it directly on the style object
style = easyxf(‘font: bold 1‘)
style.num_format_str = ‘$#,##0.00‘
sheet.write(0, 0, ‘100.00‘, style)
使用xlwt.Formula可以很容易地写Excel公式。
sheet.write(0, 0, xlwt.Formula(‘HYPERLINK("http://yujitomita.com"; "click me")‘))
workbook.save("foobar.xls")
# done!
下面是一些常见的使用陷阱的解决方案。
# to overwrite cells, create the sheet with kwarg cell_overwrite_ok
workbook.add_sheet(‘foobar‘, cell_overwrite_ok=True)
工作表的名称必须小于31个字符
命名不应包含特殊字符,例如‘:’, ‘/’等
每文档4k样式限制:
如果你了解规则,应用单元格样式就是小菜一碟。
创建了一个缓存easyxf函数,它在创建一个新样式之前,首先会尝试从缓存中拉取一个已有的样式。
class MyClass(object):
kwd_mark = object()
def cached_easyxf(self, string=‘‘, **kwargs):
if not hasattr(self, ‘_cached_easyxf‘):
self._cached_easyxf = {}
key = (string,) + (self.kwd_mark,) + tuple(sorted(kwargs.items()))
return self._cached_easyxf.setdefault(key, xlwt.easyxf(string, **kwargs))
。
接收一个空格分隔的键值对数组的字符串格式。
‘KEY: KEY-VALUE VALUE, KEY-VALUE VALUE; KEY2: KEY-VALUE2 VALUE2′
sheet.write(0, 0, xlwt.easyxf(‘font: bold 1‘)) # bold
sheet.write(0, 0, xlwt.easyxf(‘font: bold 1, color: blue, underline single‘))
还没有学习完,好困,睡觉了。。。
未完待续
DayDayUP_Python自学教程[14]_python操作excel
标签:
原文地址:http://blog.csdn.net/erujo/article/details/51357262