Примените различное цветовое кодирование внутри ячейки с помощью OpenPyxlPython

Программы на Python
Anonymous
Примените различное цветовое кодирование внутри ячейки с помощью OpenPyxl

Сообщение Anonymous »

У меня уже есть несколько файлов Excel, которые я хотел бы отформатировать.
Один из вариантов форматирования — сделать часть ячейки зеленой, а другую часть — красным.
Ради этого В этом примере давайте представим, что ячейка «A1» заполнена надписью «Hello World!».
Я хотел бы установить «Hello» зеленым шрифтом и «World!» красным шрифтом в одной ячейке.
Я знаю, что это возможно с помощью xlsxwriter или xlwings, но оба они недоступны для моего случая:
  • У меня уже есть Excel, который я хочу настроить, а xlsxwriter пишет только на новых листах.
    Xlwings недоступен в моей среде.< /li>
Поэтому я пытаюсь использовать старую добрую библиотеку OpenPyxl, которая, насколько я понимаю, не самая лучшая для того, что я хотел бы сделать..< /p>
Давайте попробуем следующий пример, в котором просто (нужно) написать «Привет» красным цветом и «Мир!» черным цветом на листе Excel.

Код: Выделить всё

from openpyxl import Workbook
from openpyxl.cell.rich_text import TextBlock, CellRichText
from openpyxl.cell.text import InlineFont
wb = Workbook()
ws = wb.active
red = InlineFont(color='FF000000')
rich_string1 = CellRichText([TextBlock(red, 'Hello'), "World!"])
ws["A1"] = rich_string1
wb.save("hello_world_richtext.xlsx")
Результаты не такие, как ожидалось, поскольку они написаны черным цветом. Я пробовал несколько вещей, например писать на отдельном листе с помощью xlsxwriter и копировать и вставлять с помощью openpyxl в нужное место, но он теряет форматирование. Есть ли у кого-нибудь из вас идеи, как мне поступить? Заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/790 ... h-openpyxl

Вернуться в «Python»