openpyxl读取Excel主题单元格字体颜色与渲染结果不一致的问题咨询
openpyxl读取Excel主题单元格字体颜色与渲染结果不一致的问题咨询
我现在需要用Python读取Excel文件,获取特定单元格的字体颜色。我有一列数据,其中有些单元格的字体是红色的,Excel能正常渲染出不同的颜色,但用openpyxl加载文件后,得到的颜色值却有问题,具体情况如下:
对于Excel里显示为黑色字体的
code列单元格:
输入代码:code_cell.font.color输出结果:
<openpyxl.styles.colors.Color object> Parameters: rgb=None, indexed=None, auto=None, theme=1, tint=0.0, type='theme'对于Excel里显示为红色字体的
pr_cell1单元格,居然得到了和上面完全一样的输出:
输入代码:pr_cell1.font.color输出结果:
<openpyxl.styles.colors.Color object> Parameters: rgb=None, indexed=None, auto=None, theme=1, tint=0.0, type='theme'这两个单元格的颜色明明应该不一样啊!
对于另一个非主题样式的红色单元格
giacord_cell,得到的结果却正常:
输入代码:giacord_cell.font.color输出结果:
<openpyxl.styles.colors.Color object> Parameters: rgb='FFFF0000', indexed=None, auto=None, theme=None, tint=0.0, type='rgb'
我想知道有没有办法获取主题单元格的实际渲染颜色?为什么Excel能正常区分并渲染不同的主题单元格颜色,而openpyxl却做不到呢?
谢谢大家!
以下是我读取Excel文件的代码:
from openpyxl import Workbook, load_workbook wb = load_workbook(file_path, rich_text=True) ##file_path是一个字符串 ws = wb.active rows = [ i for i in ws.iter_rows()] code_cell = r[code_index] ##整数索引 pr_cell= r[pr_index] ##整数索引 pr_cell1= r[pr_index1] ##整数索引 giacord_cell = r[giacord_index] ##整数索引
备注:内容来源于stack exchange,提问作者Simone Deola




