簡體   English   中英

在excel中創建表格 - Python openpyxl

[英]Create table in excel - Python openpyxl

有沒有辦法根據包含數據的所有行和列創建表? 通常,表格是通過放入固定引用來創建的(例如: 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"

您可以在工作表sheet上使用get_column_lettermax_columnmax_row ,如下所示:

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)

您可以像這樣創建表 -

tab = Table(displayName="Table1", ref="A1:E5")

# Add a default style with striped rows and banded columns
style = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=False,
                       showLastColumn=False, showRowStripes=True, showColumnStripes=True)
tab.tableStyleInfo = style
ws1.add_table(tab)

來自官方文檔的示例 -https://openpyxl.readthedocs.io/en/stable/worksheet_tables.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM