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

enz*_*liu 5 python excel openpyxl

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

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

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

openpyxl支持读取颜色格式吗?

Dav*_*vid 8

更新(2014年):

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

somecell.fill.start_color.index
Run Code Online (Sandbox Code Playgroud)

原始回应(2012年):

我试验过这个并注意到如果我通过openpyxl设置背景颜色,如下所示:

_cell.style.fill.fill_type = Fill.FILL_SOLID
_cell.style.fill.start_color.index = Color.DARKGREEN
Run Code Online (Sandbox Code Playgroud)

然后像这样检索值:

_style.fill.start_color.index
Run Code Online (Sandbox Code Playgroud)

然后我得到正确的答复:

'FF008000'
Run Code Online (Sandbox Code Playgroud)

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

'FFFFFFFF'
Run Code Online (Sandbox Code Playgroud)

因此,结果似乎是opepyxl样式仍然不可靠.在问题的帮助下查看我的评论,其中包含openpyxl作者评论的链接.