【发布时间】:2015-09-30 00:00:43
【问题描述】:
为什么 openpyxl 将每一行和每一列的维度都读取为无?无论表格是通过 openpyxl 还是在 Microsoft Excel 中创建的,情况都是如此。
import openpyxl
wb = openpyxl.load_workbook(r'C:\data\MyTable.xlsx')
ws = wb.active
print ws.row_dimensions[1].height
print ws.column_dimensions['A'].width
打印无和无。这些不是隐藏的列/行。在 Excel 中查看时,它们显然具有尺寸。
我知道用迭代器加载工作簿会阻止创建维度字典,但这会导致关键错误,我在这里没有使用迭代器。
是否有其他方法来确定单元格/行/列的宽度/高度?
===============解决方案=================
感谢 Charlie,我意识到以下是获取所有行高列表的最佳方法:
import openpyxl
wb = openpyxl.load_workbook(r'C:\Data\Test.xlsx')
ws = wb.active
rowHeights = [ws.row_dimensions[i+1].height for i in range(ws.max_row)]
rowHeights = [15 if rh is None else rh for rh in rowHeights]
【问题讨论】:
标签: python python-2.7 openpyxl