Openpyxl - как менять шрифт и цвет в ячейке

Openpyxl — как менять шрифт и цвет в ячейке?

Привет всем! В продолжение статей, посвященных работе с Openpyxl сегодня попробуем разобраться: как менять шрифт и цвет в ячейке?

Начнем разбираться — и в практических целях создадим Excel-файл, в котором создадим ячейку с текстом, который будет:

  • Иметь некоторый размер
  • Цвет
  • Подчеркивание
  • Наклон
  • Текст будет жирным

Начинаем кодить:
import openpyxl #Подключаем библиотеку
from openpyxl import Workbook
from openpyxl.styles import PatternFill#Подключаем стили для ячеек
from openpyxl.workbook import Workbook
from openpyxl.styles import Font, Fill#Подключаем стили для текста
from openpyxl.styles import colors#Подключаем цвета для текста и ячеек
wb = openpyxl.Workbook() #Создали книгу
work_sheet = wb.create_sheet(title=’Test sheet’) #Создали лист с названием и сделали его активным

work_sheet[‘A1’] = ‘Test text’
work_sheet_a1 = work_sheet[‘A5’]#Создали переменную, в которой содержится ячейка A1 с уже имеющимся текстом
work_sheet_a1.font = Font(size=23, underline=’single’, color=’FFBB00′, bold=True, italic=True) #Применяем к тексту следующие параметры: размер — 23, подчеркивание, цвет = FFBB00 (цвет текста указывается в RGB), жирный, наклонный. Если нам не нужен жирный шрифт — используем конструкцию: bold=False. Аналогично действуем, если нам не нужен наклонный шрифт: italic=False.
Важно: если есть необходимость — в стилях заложена возможность использования стандартных цветов, но код в этом случае будет выглядеть иначе:
work_sheet_a1.font = Font(size=23, underline=’single’, color = colors.RED, bold=True, italic=True)
#где color = colors.RED — прописанный в стилях цвет
work_sheet_a1.fill = PatternFill(fill_type=’solid’, start_color=’ff8327′, end_color=’ff8327′)
#Данный код позволяет делать оформление цветом ячейки

Важно: для работы с оформлением колонок или строк используется другой алгоритм, о котором мы поговорим позднее.

Кстати, ниже — код простой программки, которая создает страницу, и записывает в ячейки текст, размером от единицы до указанного.

import openpyxl #Подключаем библиотеку
from openpyxl.styles import Font, Fill
wb = openpyxl.Workbook() #Создали книгу
work_sheet = wb.create_sheet(title=’Test sheet’) #Создали лист с названием и сделали его активным
a = int(input(‘Введите а: ‘))
cell_a = ‘A’
i = 1
while i <= a:
    i = str(i)
    cell = cell_a + i
    work_sheet[cell] = ‘Test text’
    work_sheet_a1 = work_sheet[cell]
    work_sheet_a1.font = Font(size=i)
    i = int(i)
    i = i + 1
wb.save(‘ok.xlsx’)

Спасибо за внимание! По теме, которая звучит как «Openpyxl — как менять шрифт и цвет в ячейке» — пока сказать больше нечего 🙂 Не забываем делать репосты 🙂