Openpyxl - цветная ячейка

Openpyxl — цветная ячейка

Привет всем! Сегодня мы узнаем, как разобраться с вопросом: Openpyxl — цветная ячейка.

Предыстория разбирательства очень коротка — пытаюсь доделать (это конечно громко звучит — всего-то логику записи прописать в конечный файл, но времени категорически не хватает 🙁 ) код для завершения задачи по прайсам (об этом я писал ранее), и, дабы итог работы программы выглядел более наглядно решил добавить красоты, а именно: если цена у конкурентов ниже, чем у нас — ячейка должна быть красной, если цена выше нашей — зеленой, если цены равны с нами — желтой. Казалось бы — все просто, но … как это реализовать? А точнее — как ответить на вопрос: Openpyxl — цветная ячейка?

Google знает много вариантов решения данного вопроса, и я не претендую на высшую инстанцию, но мне кажется, что мое решение (появившееся на свет после длительного курения мануалов) не самое плохое:

import openpyxl #Подключаем библиотеку
from openpyxl import Workbook #
from openpyxl.styles import PatternFill #
wb = openpyxl.Workbook() #Создали книгу
work_sheet = wb.create_sheet(title=’Test sheet’) #Создали лист с названием Test sheet
work_sheet[‘A1’] = ‘Test text’ #На листе с названием Test sheet в ячейке А1 пишем текст ‘Test text’
work_sheet[‘A1′].fill = PatternFill(fill_type=’solid’, start_color=’fe0101′, end_color=’fe0101′) #В ячейку А1 делаем заливку красного цвета 🙂 ВАЖНО: цвет должен указываться в RGB-формате!
wb.save(‘test_background.xlsx’) #Записываем все в новый файл и радуемся.

Что настораживает — указание начального и конечных цветов. Excel, если я правильно помню — не позволяет делать градиентную расцветку ячейки. Тогда почему тут указывается два цвета? Что мешало сделать просто один в стиле HTML: bgcolor=’#FF0000′? Сталкивался ли кто-то из вас с подобным вопросом, и если да — то как вы его решили? И решали ли вообще…? Если да — напишите, пожалуйста, в Телеграм или на почту.

В планах на ближайшее время разобраться, как делать разные варианты шрифтов — жирный, наклонный… Опять же — насколько (и правильно ли) я прочитал в документации — можно корректировать ширину ячеек… скоро… совсем скоро. Или пойму, или нет. Вообщем — следите за новостями, не забывайте ставить лайки и делать репосты, а так же кликать по рекламным баннерам 😉