workbook open manejo example archivos python excel format xlwt

open - python xlwt establece el color de fondo personalizado de una celda



xlsxwriter python example (5)

Estoy usando Python 2.7 y el módulo xlwt para la exportación de Excel

Me gustaría configurar el color de fondo de una celda que sé que puedo usar

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

Pero me gustaría establecer un color personalizado. como # 8a8eef o hay una paleta de colores posibles, porque el azul claro no está funcionando :)

gracias


Hoy en día, hay una forma (originalmente propuesta here ) de definir y usar colores personalizados usando add_palette_colour() y set_colour_RGB() .

Aquí hay un ejemplo:

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

También vea la solicitud de extracción real que hizo que esto sucediera.


Para colores predefinidos, vea xlwt.Style._colour_map_text en Style.py .

Para utilizar colores personalizados, probablemente tendrá que redefinir la paleta, ya que los colores no se usan directamente en las celdas, sino como un índice para colorear en una paleta. No sé cómo extender la paleta. Lo siento.



Si no está usando easyxf() y en su lugar está XFStyle objeto XFStyle paso a paso, esta es otra forma de usar nombres de colores fáciles de usar:

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