【问题标题】:openpyxl cell color reading for htmlhtml的openpyxl单元格颜色读取
【发布时间】:2021-05-05 22:16:14
【问题描述】:

我正在使用 openpyxl 读取 xlsx 文件并将其内容呈现为 html。但有时单元格颜色(我已经尝试过 bgcolor 和 start_color)只返回整数。这是我的代码:

text = "<tr>"
for j in range(0,last_col_index):
    colorvalue = str(row[j].fill.start_color.value)[2:] #ARGB to RGB
    color = '#' + colorvalue if colorvalue != '000000' else '#FFFFFF' 
    text += ('<td bgcolor="{}" >{}</td>').format(color,str(row[j].value))
text+="</tr>"

这里我省略了两个前导字符,因为 openpyxl 的颜色格式是 ARGB。对于 #a9d18e 颜色 row[j].fill.bgColor.value 返回 64,因此 HTML 背景变为黑色。如何正确地将 openpyxl 单元格颜色转换为简单的 HTML 颜色?

【问题讨论】:

    标签: html python-3.x colors openpyxl rgb


    【解决方案1】:

    这是因为颜色是索引颜色:该格式允许使用 aRGB、色调和索引来指定颜色。您可以通过type 属性找出哪个。我们曾经保留 OOXML 标准中定义的索引的 aRGB 值列表,但定义不正确,并且在任何情况下都可能因客户端而异。

    【讨论】:

      猜你喜欢
      • 2014-07-11
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      相关资源
      最近更新 更多