Как записать excel файл в нормальном виде на python?
Как записать excel файл на python в нормальном для просмотра виде? Чтобы как минимум можно было настроить ширину столбцов и перенос содержимого в случае если оно не вмещается. В идеале конечно с возможностью стилизации и авто-форматированием ширины по содержимому, но просмотрев все возможные варианты в интернете, я поняла, что это что-то из мира фантастики, однозначных ответов нету, а отдельные предложенные фрагменты кода громоздкие и к тому же у меня они не работают. Также в основном все примеры с pandas, но как сделать вышеперечисленные пункты на этом самом pandas я не нашла, задала отдельный вопрос со всеми примерами, что я пробовала, уже более 2-х недель ответа нету. Поэтому я хочу спросить, возможно есть альтернативы, где это реально сделать? Как именно это сделать мне не принципиально.
Это не дубликат вышеуказанного вопроса, он об конкретной проблеме с pandas, а данный вопрос обобщённый, о записи в excel файл на python.
Ответы (1 шт):
Я использую openxlsx, возможно вам также подойдет это решение, например:
from openpyxl.reader.excel import load_workbook
from openpyxl.styles import Font
from openpyxl.styles.fills import PatternFill
# Загружаем документ
book = load_workbook('foo.xlsx')
# Определяем рабочий лист
ws = book.worksheets[0]
# Определяем необходимую ячейку на листе
_cell = ws['C1']
# Задаем стиль для ячейки
_cell.font = Font(size=10, underline='single', color='FFFFFF', bold=True, italic=True)
_cell.value = 'hello world'
# Задаем цвет фона
_cell.fill = PatternFill(bgColor="FFC7CE", fill_type = "solid")
# Указываем ширину для колонки
ws.column_dimensions["C"].width = 60.0
# Сохраняем документ
book.save('foo.xlsx')
Может быть полезным: Работа со стилями в openxlsx