我正在尝试从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
当这种情况发生时,我可以假设整个工作表的字体大小相同吗?或者它使用了一些默认大小,我如何获得默认大小?
模块不太可能有限制。有时,您可以使用模块win32com
及其对Excel内部的直接访问来解决问题。
类似这样的东西:
import win32com.client
app = win32com.client.Dispatch("Excel.Application")
cell = app.ActiveSheet.Range("A1")
print(cell.Font.Size) # Output: 10.0
https://learn.microsoft.com/en-us/office/vba/api/excel.cellformat.font
但恐怕它只适用于Windows。
从最新的openpyxl开始,您可以执行cell.font.size
来检索大小。当所有单元格都具有相同的字体大小时,这一点有效,而且这也适用于合并范围中的单元格部分。查看Font
对象时,它不会显示大小参数,尽管它是Font()
的有效参数。如果您查看其他对象的参数列表,您还会注意到缺少一些有效的参数。