I am using python 2.7 and xlwt module for excel export
I would like to set backgroung colour of a cell i know i can use
style1 = xlwt.easyxf('pattern: pattern solid, fore_colour red;')but I would like to set custom color smth. like #8a8eef or is there a palette of possible colors, because light blue is not working :)
thank you
5 Answers
Nowadays, there is a way (originally proposed here) to define and use custom colour using add_palette_colour() and set_colour_RGB().
Here's an example:
import xlwt
book = xlwt.Workbook()
# add new colour to palette and set RGB colour value
xlwt.add_palette_colour("custom_colour", 0x21)
book.set_colour_RGB(0x21, 251, 228, 228)
# now you can use the colour in styles
sheet1 = book.add_sheet('Sheet 1')
style = xlwt.easyxf('pattern: pattern solid, fore_colour custom_colour')
sheet1.write(0, 0, 'Some text', style)
book.save('test.xls')Also see the actual pull request that made this happen.
4If you are not using easyxf() and instead are building XFStyle object step by step, here is another way of using user friendly color names:
import xlwt
style = xlwt.XFStyle()
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = xlwt.Style.colour_map['dark_purple']
style.pattern = pattern For predefined colors see xlwt.Style._colour_map_text in Style.py.
To use custom colors you will have to probably redefine palette, because colors are not used directly in cells but as a index to color in a palette. I don't know how to extend palette. Sorry.
2Alternative solution:
If you can get away with the colors defined in xlwt, go to a color information site like and match from one of the following Python Excel colors:
I recommend to use XlsxWriter, has awesome features too.
2