如果需要使用Python写Excel文件,首先下载或者安装xlwt。

pip install xlwt

下面的这些demo应该可以帮助开发者快速上手使用xlwt写Excel文件:

创建工作簿(workbook)和工作表(sheet):

import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet Name")

写单元格(cell):

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)

写Excel公式:

使用xlwt.Formula可以很容易地写Excel公式。

sheet.write(0, 0, xlwt.Formula('HYPERLINK("http://yujitomita.com"; "click me")'))

保存:

workbook.save("foobar.xls")
# done!

使用陷阱(GOTCHAS):

下面是一些常见的使用陷阱的解决方案。

禁止覆盖单元格:

我实际上非常喜欢这一特性—它防止了单元格被覆盖,所以我不止遇到过一次脚本运行失败的情况。话又说回来,你为什么要覆盖单元格呢?

# to overwrite cells, create the sheet with kwarg cell_overwrite_ok
workbook.add_sheet('foobar', cell_overwrite_ok=True)

有效的工作表命名:

  • 工作表的名称必须小于31个字符
  • 命名不应包含特殊字符,例如‘:’, ‘/’等

每文档4k样式限制:

如果你了解规则,应用单元格样式就是小菜一碟。

由于文档中的样式内容不能超过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))

Easyxf 字符串格式:

我做了一些小实验来找出通用格式。

例如,接收一个空格分隔的键值对数组的字符串格式。

‘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'))

外文原文链接: http://yuji.wordpress.com/2012/04/19/python-xlwt-writing-excel-files/

使用Python xlwt写excel文件的更多相关文章

  1. python xlwt写excel格式控制 颜色、模式、编码、背景色

    关于写excel的格式控制,比如颜色等等 import xlwt from datetime import datetime font0 = xlwt.Font() font0.name = 'Tim ...

  2. Python xlwt 写Excel相关操作记录

    1.安装xlwt pip install xlwt 2.写Excel必要的几步 import xlwt book = xlwt.Workbook() #创建一个workbook,无编码设置编码book ...

  3. python xlwt写Excel表

    1 xlwt第三方库 说明:xlwt是一个用于将数据和格式化信息写入并生成Excel文件的库. 注意:xlwt不支持写xlsx表,打开表文件报错. 官方文档:https://xlwt.readthed ...

  4. python xlrd,xlwt 读写excel文件

    python 读excel文件,需要xlrd库.下载地址:https://pypi.python.org/pypi/xlrd python 写excel文件,需要xlwt库.下载地址:https:// ...

  5. python读、写、修改、追写excel文件

    三个工具包 python操作excel的三个工具包如下 xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合 注意,只能操作.x ...

  6. python第三方库——xlrd和xlwt操作Excel文件学习

    python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt  Downloadin ...

  7. xlwt:python的写excel模块

    最近工作时碰到了将数据导出,生成一个excel表,对其中的部分数据进行统计,并给其中部分符合条件的数据添加对应的背景颜色的功能需求,于是乎,对Python中写excel的模块xlwt研究了一下,在工作 ...

  8. Python3 读、写Excel文件

    首先,简单介绍一下EXECL中工作簿和工作表的区别: 工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET). 一个工作簿就是一个独立的文件 一个工作簿里面可以有1 ...

  9. Python使用读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

随机推荐

  1. cmake gcc等安装备案

    cmake安装,参照 http://www.cnblogs.com/voyagflyer/p/5323748.html cmake2.8以上 安装后的是/usr/local/bin/cmake -ve ...

  2. Object中的一些方法

    Object.create()参数为一个对象,创建一个对象,其原型为参数,如果为null,则无原型. Object.keys()参数为对象,返回一个数组,为对象中所有可枚举的自有属性 Object.g ...

  3. Yii2 主从 数据库

    配置方法 参考资料:http://www.linuxidc.com/Linux/2015-07/120134.htm 读写分离(Read/Write Splitting). 1.原理:让主数据库(ma ...

  4. IOS 瀑布流

    本篇博客应该算的上CollectionView的高级应用了,从iOS开发之窥探UICollectionViewController(一)到今天的(五),可谓是由浅入深的窥探了一下UICollectio ...

  5. UE4 - C++ 射线捕捉

    #include "Runtime/Engine/Classes/Kismet/KismetMathLibrary.h" //省略大部分代码 void AMyFPS_Charact ...

  6. php7+apache2.4 (Windows7下),成功启动。(楼主另外提供了1个php7集成环境打包: http://pan.baidu.com/s/1qXwjpF2 ,如果你只是想了解一下,放在d盘根目录。)

    php7正式版已经发布,性能是php5.4的2倍.博主入手php7 新鲜了一把,下面是解决问题之后成功启动php7的记录. ( 电脑必须win7 sp1, .netframework4 ) Windo ...

  7. Android FM模块学习之三 FM手动调频

    前一章主要是FM的自动调频, 接下来我们就看看FM手动调频是如何进行的.如果不清楚FM自动调频的过程,请打开超链接查看FM搜索频率流程. 首先来看一下流程图: 2.滑动刻度盘HorizontalNum ...

  8. Mini2440 LED驱动程序设计

    1 LED初始化: 2 LED闪烁设计 位或操作:| 取反操作:~ 位与操作:& http://www.tuicool.com/articles/eQzEJv

  9. js数组常用方法汇总

    判断某个对象是否是数组: instanceof.Array.isArray() 对于一个网页或者一个全局作用域可以使用instanceof操作符. if(value instanceof Array) ...

  10. java中的static关键词

    以下来自:http://www.cnblogs.com/codc-5117/archive/2011/12/04/2275298.html Static基本规则:             (1)一个类 ...