Python xlwt définit la couleur de fond personnalisée d'une cellule

j'utilise Python 2.7 et le module xlwt pour l'exportation excel

je voudrais mettre la couleur de fond d'une cellule je sais que je peux utiliser

style1 = xlwt.easyxf('pattern: pattern solid, fore_colour red;')

mais je voudrais mettre de la couleur personnalisée qch. comme # 8a8eef ou est-il une palette de couleurs possibles, parce que la lumière bleue ne fonctionne pas :)

merci

21
demandé sur alecxe 2011-10-13 01:29:40

5 réponses

Si vous n'êtes pas à l'aide de easyxf() et au lieu de cela sont la construction XFStyle objet, étape par étape, voici une autre façon d'utiliser convivial noms de couleur:

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
11
répondu darklow 2013-11-10 19:21:39

de nos jours, il y a un moyen (proposé à l'origine ici) pour définir et utiliser la couleur personnalisée en utilisant add_palette_colour() et set_colour_RGB().

Voici un exemple:

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')

Voir Aussi Le pull request qui a fait cela se produire.

25
répondu alecxe 2014-12-08 04:14:18

Pour les couleurs prédéfinies voir xlwt.Style._colour_map_textStyle.py.

pour utiliser des couleurs personnalisées, vous devrez probablement redéfinir la palette, parce que les couleurs ne sont pas utilisées directement dans les cellules, mais comme un index pour la couleur dans une palette. Je ne sais pas comment étendre la palette. Désolé.

5
répondu Michał Šrajer 2013-12-04 15:12:28

solution Alternative:

Si vous pouvez vous en sortir avec les couleurs définies dans xlwt, accédez à une information de couleur de site comme http://www.colorhexa.com/90ee90 et correspondre à l'une des options suivantes Python Excel couleurs: http://bit.ly/1NMH67F

2
répondu Sandeep 2015-04-03 15:42:01

je recommande D'utiliser XlsxWriter, a des fonctionnalités impressionnantes aussi. http://xlsxwriter.readthedocs.io/

2
répondu Angie Alejo 2017-07-06 21:38:50