Python XlsxWriter – 表格
在MS Excel中,表是一个被分组为单一实体的单元格范围。它可以从公式中被引用,并具有共同的格式属性。一些功能,如列标题、自动过滤器、总行、列公式可以在工作表中定义。
add_table()方法
工作表方法 add_table() 用于将一个单元格区域添加为一个表格。
worksheet.add_table(first_row, first_col, last_row, last_col, options)
这两种方法,标准的’ A1 ‘或’ 行/列 ‘符号都允许用于指定范围。 add_table() 方法可以接受一个或多个以下的可选参数。请注意,除了范围参数,其他参数都是可选的。如果没有给出,将创建一个空表。
例子
数据
这个参数可以用来指定表的单元格中的数据。请看下面的例子 –
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栏等。你可以通过使用列参数来设置所需的标题。
列
例子
此属性用于设置列标题。
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()
输出
标题行现在被设置成如图所示-
自动过滤
这个参数默认为开。当设置为OFF时,标题行不显示下拉箭头来设置过滤条件。
名称
在Excel工作表中,表格被命名为Table1、Table2等。 名称 参数可用于根据需要设置表的名称。
ws.add_table("A1:E4", {'data':data, 'name':'marklist'})
计算公式
带有公式的列可以通过在列选项中指定公式子属性来创建。
例子
在下面的例子中,表的名称属性被设置为’marklist’。总数 “列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()
输出
当上述代码被执行时,工作表中的 ” 总 “一栏显示了分数的 总和 。