Привіт всім! Продовжуючи статті, присвячені роботі з 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′)#Данный код позволяет делать оформление цветом ячейки
Важливо: для роботи з оформленням колонок або рядків використовується інший алгоритм, про який ми говоримо пізніше.
Нижче – відео, в якому все наочніше 🙂
До речі, нижче – код простої програми, яка створює сторінку, і записує в комірки текст, розміром від одиниці до вказаного.
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 — як міняти шрифт і колір в осередку» — поки що сказати нічого 🙂 Не забуваємо робити репости 🙂
Support the Blog!
Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️