在了解这个内容之前,我们先来介绍另一种设置单元格格式的方式,通过函数调用的方式生成一个XFStyle类。
easyxf配置样式
这种方式不需要在代码中创建各个样式类的实例(比如,Font、Alignment、Borders等),它是在Style模块里面单独定义的一个简化生成XFStyle类的函数。通过将格式化的样式字符串作为参数传递给它,返回一个XFStyle类的实例。
函数实现方法xlwt.easyxf(strg_to_parse='',num_format_str=None,field_sep=',',line_sep=';', intro_sep=':',esc_char='\\',debug=False)
【可设置哪些属性】
这个函数可设置的样式、格式基本囊括了使用类创建方式所能设置的各种样式和格式,我们可以通过Style模块中的xf_dict字典查看。
from xlwt.Style import xf_dictprint(xf_dict)打印可设置的属性名称及默认值,输出如下:
可设置范围可用的设置都在这里了,其实不用记住,我们主要了解下如何找到它们^-^。
【方法中各个参数的含义】
这里需要说明的是,如果没有自定义规则的需求,下面几个参数可略去(了解下面的默认规则即可)。
strg_to_parse:格式化的字符串,这个字符串的规则是固定的,它根据这个固定的规则解析出各个参数内容,最后生成一个XFStyle类。具体规则如下:
默认规则:
样式的不同格式用【,】分隔不同样式之间用【;】分隔样式和格式之间用【:】分隔num_format_str:设置自定义的数据格式字符串。就是单元格格式设置中对应的这个界面的设置。
数据格式定义字符串很简单,传入自定义的字符串即可。
我们可以对规则进行自定义,使用下面几个参数。
field_sep:定义一个样式的不同格式之间的分隔符line_sep:定义不同样式之间的分隔符lintro_sep:定义格式和样式之间的分隔符esc_char:这个不知道干啥的,貌似是个分隔符。debug:是否打开调试模式。
下面这个图可帮助你理解各个参数的含义。
设置关系【举个例子】
使用上面的规则,同时使用创建类和使用函数的方式完成一个Excel格式设置。
实现效果如下图所示(源代码获取方式附后)。
样式是一样【对比】
孰优孰劣,显而易见:对于初学者,建议使用创建类的方式定义样式、格式。这样,有助于理解各种模块、类之间的关系(Style、Formatting、XFStyle、Font、Alignment、Pattern、Borders、Protection等)。
对比对于老手,建议使用函数easyxf,大大减少了代码量。
为什么讲上面的这个函数?因为设置单元格行高时,我们需要用到它。
下面,我们详细介绍如何设置单元格的行高和列宽。
行高和列宽设置
购买专栏解锁剩余56%