Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python xlwt set custom background colour of a cell

Tags:

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

like image 777
Yebach Avatar asked Oct 12 '11 21:10

Yebach


People also ask

What is XLWT in Python?

This is a library for developers to use to generate spreadsheet files compatible with Microsoft Excel versions 95 to 2003. The package itself is pure Python with no dependencies on modules or packages outside the standard Python distribution.

How do I merge cells in Excel with XLWT?

There are two methods on the Worksheet class to do this, write_merge and merge . merge takes existing cells and merges them, while write_merge writes a label (just like write ) and then does the same stuff merge does. Both take the cells to merge as r1, r2, c1, c2 , and accept an optional style parameter.


1 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.

like image 199
alecxe Avatar answered Sep 23 '22 07:09

alecxe