有没有办法根据包含数据的所有行和列创建表?通常通过放入固定引用来创建表(例如:ref="A1:E5")) 我需要的是找到工作表上最后一行并将其用作引用的脚本。这是因为我需要编辑的工作表每次都包含不同数量的行,如果我设置了固定引用,它将在表中包含空行。
如果在 excel 中将此作为宏但想使用 openpyxl 将其转换为 python
Excel 宏
Sub A2_SelectAllMakeTable()
lrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
lCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(lrow, lCol)), , xlYes).Name = "Masterdata"
End Sub
python代码开始:
from openpyxl import load_workbook
wb = load_workbook('export1.XLSX')
ws1 = wb["Sheet1"]
ws1.title = "Masterdata"
最佳答案
您可以使用 get_column_letter
, max_column
, 和 max_row
在您的工作表上 sheet
,像这样:
from openpyxl.worksheet.table import Table
from openpyxl.utils import get_column_letter
table = Table(displayName="Table1", ref="A1:" + get_column_letter(sheet.max_column) + str(sheet.max_row))
sheet.add_table(table)
关于python - 在 Excel 中创建表 - Python openpyxl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59945228/