почему размер шрифта ячейки openpyxl не возвращает ни одного?

#python #openpyxl #font-size

Вопрос:

Я пытаюсь получить размеры шрифтов ячеек с листа Excel. Однако во многих файлах, которые я читаю, » Нет » для размера шрифта ячейки, и это относится ко всему листу. Я проверил, что во всех этих ячейках есть текст. Это пример вывода для cell.font :

 <openpyxl.styles.fonts.Font object>
Parameters:
name='Asap', charset=None, family=None, b=False, i=False, strike=None, outline=None, shadow=None, condense=None, color=None, extend=None, sz=None, u=None, vertAlign=None, scheme=None
 

Когда это произойдет, могу ли я предположить, что весь лист имеет одинаковый размер шрифта? Или он использует какой-то размер по умолчанию, и как я могу получить размер по умолчанию?

Комментарии:

1. Объекты шрифтов не имеют атрибутов имен, поэтому что-то должно было добавить это. Пожалуйста, укажите весь соответствующий код.

Ответ №1:

Не исключено, что у модуля есть ограничение. Иногда вы можете обойти модуль win32com и получить прямой доступ к недрам Excel.

Что-то вроде этого:

 import win32com.client

app = win32com.client.Dispatch("Excel.Application")
cell = app.ActiveSheet.Range("A1")
print(cell.Font.Size) # Output: 10.0
 

https://docs.microsoft.com/en-us/office/vba/api/excel.cellformat.font

Но, боюсь, это работает только в Windows.