You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动