Xlsxwriter, форматирование только некоторых ячеек, а не целой строки или целого столбца? - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть фрейм данных, который я отправляю в Excel с помощью механизма xlsxwriter, затем применяю форматирование к листу перед его закрытием.Как я могу установить цвет bg только для столбцов, в которых есть данные?

Например, я могу добавить желтый цвет фона во второй столбец (ниже), но он простирается за ячейки, которыеесть данные в них.Я делаю это с помощью set_column (), как показано ниже:

worksheet.set_column(1, 1, 18, hilite_format)

Я не вижу опции для установки формата столбца только для определенных строк или использования set_row () для форматирования только определенных столбцов.Я уже записал данные на лист, поэтому я не могу использовать worksheet.write (), иначе он перезапишет уже имеющиеся данные.По крайней мере, я не вижу способа использовать .write (), чтобы просто применить форматирование без записи данных или None в ячейки.

Есть ли способ просто «закрасить» некоторое форматирование в диапазонеклетки, не влияя на значения в этих клетках?Я бы предпочел не использовать условное форматирование или перезаписывать данные для этих ячеек только для того, чтобы получить правильное форматирование.

Спасибо!

enter image description here

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Попробуйте этот код:

  • Вы помещаете здесь свою логику и используете ее, когда хотите, в ячейке.

    merge_format = workbook.add_format({ 'border': 1, 'align': 'center', 'valign': 'vcenter'})</p> <p>worksheet.merge_range('A1:R1', 'AGENCIES', merge_format)

0 голосов
/ 13 ноября 2018

Попробуйте использовать conditional_format (), выделив непустые ячейки:

worksheet.conditional_format('B:B', {'type': 'no_blanks',
                                     'format': hilite_format})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...