xlrd中获取cell格式信息主要依赖XF对象实现,获取XF对象的方法如下:
sheet = book.sheet_by_index(0) xfx = sheet.cell_xf_index(0, 0) xf = book.xf_list[xfx]
我们可以这样理解以上代码,xlrd在读取文档时已经将cell的格式信息读取,并保存至一个XF对象中,然后将XF对象保存至xf_list列表(该列表保存在打开文件的book对象中)中,通过
cell_xf_index(rowx, colx)
获取该单元格对应的XF对象在xf_list列表中的索引值,通过索引值就可以在xf_list列表中找到该cell对应的XF对象,通过XF对象就可以获取cell的背景格式、受保护属性、对齐格式以及边框格式等信息,例如如下代码:
bgx = xf.background.pattern_colour_index
可以获取cell的背景颜色信息(返回颜色编号)。XF对象有4个可以直接访问的属性值,即protection、background、alignment和border(即受保护属性、背景格式、对齐格式以及边框格式)。
protection有2个属性,源码解释如下:
#: 1 = Cell is prevented from being changed, moved, resized, or deleted #: (only if the sheet is protected). cell_locked = 0 #: 1 = Hide formula so that it doesn't appear in the formula bar when #: the cell is selected (only if the sheet is protected). formula_hidden = 0
background有3个属性,源码解释如下:
#: See section 3.11 of the OOo docs. fill_pattern = 0 #: See section 3.11 of the OOo docs. background_colour_index = 0 #: See section 3.11 of the