从.xlsx获取单元格颜色

我正在使用openpyxl来读取excel文件。 我想从“xlsx”文件中获取单元格颜色。 我试图让颜色如此:

wb = load_workbook('Test.xlsx', data_only=True) sh = wb[Sheet1] sh['A1'].fill.start_color.index #Green Color 

我得到“11L”,但我需要获得RGB颜色,我怎么能做到这一点?

看起来像表正在使用内置的颜色索引。 这些映射在openpyxl.styles.color的源openpyxl.styles.color

 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', 'System Foreground', 'System Background' #60-64 ) 

11L对应于rgb元组为绿色(0,255,0)的0000FF00(hex)。

我从单元格获得颜色,所以:

 wb = load_workbook('Test.xlsx', data_only=True) sh = wb[Sheet1] i=sh['A1'].fill.start_color.index #Green Color Colors=styles.colors.COLOR_INDEX result = str(Coloros[i]) result= "#"+result[2:]