如何使用openpyxl读取xlsx颜色信息

时间:2012-08-20 19:36:10

标签: python excel openpyxl

我正在使用openpyxl来读取excel文件。

对于我的应用程序,我需要读取xlsx文件中单元格的背景颜色 但我无法找到如何加载这些颜色信息。

我尝试使用cell.style.fill.color.index,但它只返回FFFFFFFF作为背景,这对我读取的文件不正确。

openpyxl是否支持读取颜色格式?

1 个答案:

答案 0 :(得分:8)

更新(2014):

我将更新为v.2.2。他们似乎已经解决了我在原始答案中记录的问题(见下文)。我现在能够通过Excel手动设置后成功检索背景颜色。但是,语法略有改变:

somecell.fill.start_color.index

原始回应(2012年):

我对此进行了实验,并注意到如果我通过openpyxl设置背景颜色,如下所示:

_cell.style.fill.fill_type = Fill.FILL_SOLID
_cell.style.fill.start_color.index = Color.DARKGREEN

然后检索这样的值:

_style.fill.start_color.index

然后我得到正确答案:

'FF008000'

但是,如果我在Excel中设置背景颜色并保存文件,然后通过openpyxl访问它,那么我会做同样的事情:

'FFFFFFFF'

所以,结果似乎是opepyxl样式仍然不可靠。请查看我在评论下的评论,其中包含指向openpyxl作者评论的链接。