我正在使用 openpyxl 读取 excel 文件。
对于我的应用程序,我需要读取 xlsx 文件中单元格的背景颜色,但我找不到如何加载这些颜色信息。
我尝试使用 cell.style.fill.color.index,但它只返回 FFFFFFFF 作为背景,这与我读取的文件不正确。
openpyxl 是否支持读取颜色格式?
我将openpyxl更新到 v. 2.2。他们似乎已经解决了我在原始答案中记录的问题(见下文)。通过 Excel 手动设置背景颜色后,我现在能够成功检索背景颜色。但是,语法略有变化:
somecell.fill.start_color.index
我对此进行了试验,并注意到如果我像这样通过 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 的作者的评论的链接。