Я использую openpyxl
для записи некоторых данных на лист Excel. Мой код выглядит следующим образом:
from openpyxl import Workbook
from openpyxl.styles import Font
file_name = 'sample_file.xlsx'
wb = Workbook()
ws = wb.active
ws['A1'] = 'some data'
ws['B1'] = 'more data'
ws['C1'] = 'even more data'
row = ws.row_dimensions[1]
row.font = Font(bold=True)
wb.save(filename = file_name)
wb.close()
Проблема, которую я вижу, заключается в том, что жирный формат применяется к ячейкам D1, E1, F1, G1 и т. Д. c., Но нет. к целевым ячейкам A1, B1 и C1.
В документации по https://openpyxl.readthedocs.io/en/stable/styles.html говорится следующее:
"Стили также могут применяться к столбцам и строкам но учтите, что это применимо только к ячейкам, созданным (в Excel) после закрытия файла. Если вы хотите применить стили ко всем строкам и столбцам, вы должны применить стиль к каждой ячейке самостоятельно. Это ограничение формата файла. .. "
Итак, я реализовал следующий код (который работает):
bold_headers = Font(bold=True)
for cell in ws["1:1"]:
cell.font = bold_headers
Кто-нибудь знает, почему мой оригинальный подход не сработал? Заранее спасибо!