【发布时间】: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