/
susub
/
report
Обзор
Документация
Войти
/
susub
/
report
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
modules/formatting.py
93 строки
3 KB
Александр Куклин
add registry SQ
29 мар 2026, 14:22
29 мар 2026, 14:22
151fbfb
Код
Авторство
О чём код?
import os from openpyxl import load_workbook from openpyxl.styles import Font, PatternFill, Alignment, Border, Side from modules.massage.massager import print_info def load_excel(params) -> object: """ Функция загрузки excel файла :param params: словарь с параметрами :return: excel файл """ path = params['path'] + os.sep + params['config']['report']['path'] wb = load_workbook(filename=path) print_info(message_code='start formatting', logs=params['log'], params_message=path) return wb def add_schedule(workbook: object, name: str) -> object: """ Функция добавления листа в excel файл :param workbook: excel файл :param name: название листа :return: excel файл """ workbook.create_sheet(name) return workbook def formatting(params: dict, worksheets: list) -> None: """ Функция форматирования excel файла :param params: словарь с параметрами :return: None """ workbook = load_excel(params) for sheet in worksheets: sheet = workbook[sheet] border_thin = Side(style='thin') for col in sheet.columns: for call in col: call.border = Border(top=border_thin, left=border_thin, right=border_thin, bottom=border_thin) for col in sheet.columns: col[0].font = Font(name='Calibri', bold=True, italic=True, size=12) for col in sheet.columns: col[-1].fill = PatternFill(start_color='BDB76B', end_color='BDB76B', fill_type='solid') for i in range(1, sheet.max_row + 1): sheet[f'A{i}'].alignment = Alignment(horizontal='center', vertical='center') sheet[f'B{i}'].alignment = Alignment(horizontal='center', vertical='center') for col in sheet.columns: col[0].alignment = Alignment(horizontal='center', vertical='center') sheet.column_dimensions['A'].width = 10 sheet.column_dimensions['B'].width = 10 sheet.column_dimensions['C'].width = 20 sheet.column_dimensions['D'].width = 20 sheet.column_dimensions['E'].width = 20 sheet.column_dimensions['F'].width = 20 sheet.column_dimensions['G'].width = 20 sheet.column_dimensions['H'].width = 23 sheet.column_dimensions['I'].width = 23 sheet.column_dimensions['J'].width = 23 sheet.column_dimensions['K'].width = 23 workbook.save(filename=params['path'] + os.sep + params['config']['report']['path']) print_info(message_code='success formatting', logs=params['log'], params_message=params['config']['report']['path'])