我正在尝试确定Excel文档中设置的边框的颜色。我使用'openpyxl‘库(最新版本3.0.9),当用户通过默认的'auto’颜色设置边框时,遇到了提取rgb颜色代码的问题。
当我提取单元格颜色属性时,我会看到(在我的调试器中,请参见屏幕快照)。没有一个单元格字段是用RGB代码设置的,这些字段表示在提取颜色信息时存在一些问题。我想这是由于‘汽车’的颜色。
索引颜色可能是在文档中引用的:
默认颜色指数,如ECMA第4部分18.8.27所示
COLOR_INDEX = (
'00000000', '00FFFFFF', '00FF0000', '0000FF00', '000000FF', #0-4
'00FFFF00', '00FF00FF', '0000FFFF', '00000000', '00FFFFFF', #5-9
'00FF0000', '0000FF00', '000000FF', '00FFFF00', '00FF00FF', #10-14
'0000FFFF', '00800000', '00008000', '00000080', '00808000', #15-19
'00800080', '00008080', '00C0C0C0', '00808080', '009999FF', #20-24
'00993366', '00FFFFCC', '00CCFFFF', '00660066', '00FF8080', #25-29
'000066CC', '00CCCCFF', '00000080', '00FF00FF', '00FFFF00', #30-34
'0000FFFF', '00800080', '00800000', '00008080', '000000FF', #35-39
'0000CCFF', '00CCFFFF', '00CCFFCC', '00FFFF99', '0099CCFF', #40-44
'00FF99CC', '00CC99FF', '00FFCC99', '003366FF', '0033CCCC', #45-49
'0099CC00', '00FFCC00', '00FF9900', '00FF6600', '00666699', #50-54
'00969696', '00003366', '00339966', '00003300', '00333300', #55-59
'00993300', '00993366', '00333399', '00333333', #60-63
)
# indices 64 and 65 are reserved for the system foreground and background colours respectively
文档称索引64是保留的,因此没有必要尝试访问颜色数组(最大索引为63)。
来源:https://openpyxl.readthedocs.io/en/stable/_modules/openpyxl/styles/colors.html
我可以勇敢地处理索引64为黑色,这似乎是永恒的自动颜色无论如何,但我想知道是否有一个正确的方式解码‘自动’颜色从Excel?
发布于 2022-05-09 12:51:35
系统颜色由应用程序设置。默认窗口将是白色背景和黑色前景。您可以检查styles.xml的styles.xml部分,以确定这些部分是否已经过时,但真正需要客户端应用程序来决定。
https://stackoverflow.com/questions/72012199
复制相似问题