我需要从 Excel 获取列宽并将其写入 .txt 文件。我相信 openpyxl 是这样做的方法,但我无法让 openpyxl.worksheet.dimensions.ColumnDimension.width 返回值。这是正确的方法吗?
最佳答案
- 这是另一种方法,它将 Excel 实例化为对象。
- 这仅适用于 Windows,并且必须安装 Excel。
给定:
代码:
import win32com.client as win32
filename = 'D:/PythonProjects/stack_overflow/test.xlsx'
excel = win32.gencache.EnsureDispatch('Excel.Application')
excel.Visible = False # can be True if you like
wb = excel.Workbooks.Open(filename)
ws1 = wb.Sheets('Sheet1')
for x in range(1, ws1.UsedRange.Columns.Count +1):
print(ws1.Columns(x).ColumnWidth)
wb.Close(True)
输出:
8.43
8.43
8.43
8.43
8.43
39.43
ws1.UsedRange.Columns.Count
返回已用列数的int
,在 Excel 屏幕截图中 A:F == 1:6ws1.Columns(x).ColumnWidth
返回列宽- 顺便说一句,使用此方法与 Excel 交互会公开所有 Excel 功能,从而允许与新文件或现有文件、图形、格式设置等进行交互。
- 如果
excel.Visible = True
,则可以在观看时对实时文件进行操作;只是不要与 Excel 交互,而 python 正在处理它。
- 如果
关于python - 使用openpyxl从Excel获取列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57862438/