Python XlsxWriter - 表格
在 MS Excel 中,表格是已分组为单个实体的一系列单元格。 它可以从公式中引用并具有通用的格式属性。 可以在工作表中定义列标题、自动筛选器、总行数、列公式等多种功能。
add_table() 方法
工作表方法 add_table() 用于将单元格区域添加为表格。
worksheet.add_table(first_row, first_col, last_row, last_col, options)
这两种方法,标准的"A1"或"行/列"符号都可以用于指定范围。 add_table() 方法可以采用以下一个或多个可选参数。 注意,除了range参数,其他都是可选的。 如果没有给出,将创建一个空表。
示例
data
此参数可用于指定表格单元格中的数据。 看下面的例子 −
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()
data = [
['Namrata', 75, 65, 80],
['Ravi', 60, 70, 80],
['Kiran', 65, 75, 85],
['Karishma', 55, 65, 75],
]
ws.add_table("A1:D4", {'data':data})
wb.close()
输出
这是结果 −
header_row
此参数可用于打开或关闭表格中的标题行。 默认情况下它是打开的。 标题行将包含默认标题,例如第 1 列、第 2 列等。您可以使用 columns 参数设置所需的标题。
Columns
示例
此属性用于设置列标题。
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()
data = [
['Namrata', 75, 65, 80],
['Ravi', 60, 70, 80],
['Kiran', 65, 75, 85],
['Karishma', 55, 65, 75],
]
ws.add_table("A1:D4",
{'data':data,
'columns': [
{'header': 'Name'},
{'header': 'physics'},
{'header': 'Chemistry'},
{'header': 'Maths'}]
})
wb.close()
输出
标题行现在设置如下所示 −
autofilter
默认情况下,此参数为 ON。 当设置为 OFF 时,标题行不显示用于设置过滤条件的下拉箭头。
Name
在Excel工作表中,表格被命名为Table1、Table2等。name参数可用于根据需要设置表格的名称。
ws.add_table("A1:E4", {'data':data, 'name':'marklist'})
Formula
可以通过在列选项中指定公式子属性来创建带有公式的列。
示例
在以下示例中,表的名称属性设置为"marklist"。 "Total"列 E 的公式执行标记总和,并分配公式子属性的值。
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()
data = [
['Namrata', 75, 65, 80],
['Ravi', 60, 70, 80],
['Kiran', 65, 75, 85],
['Karishma', 55, 65, 75],
]
formula = '=SUM(marklist[@[physics]:[Maths]])'
tbl = ws.add_table("A1:E5",
{'data': data,
'autofilter': False,
'name': 'marklist',
'columns': [
{'header': 'Name'},
{'header': 'physics'},
{'header': 'Chemistry'},
{'header': 'Maths'},
{'header': 'Total', 'formula': formula}
]
})
wb.close()
输出
执行上述代码时,工作表会显示包含总分的Total列。

