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

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 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′)#Данный код позволяет делать оформление цветом ячейки

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

Ниже — видео, в котором все более наглядно 🙂

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

  1. import openpyxl #Подключаем библиотеку
  2. from openpyxl.styles import Font, Fill
  3. wb = openpyxl.Workbook() #Создали книгу
  4. work_sheet = wb.create_sheet(title='Test sheet') #Создали лист с названием и сделали его активным
  5. a = int(input('Введите а: '))
  6. cell_a = 'A'
  7. i = 1
  8. while i <= a:
  9.     i = str(i)
  10.     cell = cell_a + i
  11.     work_sheet[cell] = 'Test text'
  12.     work_sheet_a1 = work_sheet[cell]
  13.     work_sheet_a1.font = Font(size=i)
  14.     i = int(i)
  15.     i = i + 1
  16. wb.save('ok.xlsx')

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