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()

輸出

以下是結果 -

Add Table

header_row(標題行)

此引數可用於開啟或關閉表格中的標題行。預設情況下為開啟。標題行將包含預設標題,例如列 1、列 2 等。您可以使用 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()

輸出

標題行現在設定為如下所示 -

Header Row

autofilter(自動篩選)

此引數預設情況下為 ON。當設定為 OFF 時,標題行不會顯示下拉箭頭以設定篩選條件。

名稱

在 Excel 工作表中,表格命名為 Table1、Table2 等。name 引數可用於根據需要設定表格的名稱。

ws.add_table("A1:E4", {'data':data, 'name':'marklist'})

公式

可以透過在 columns 選項中指定 formula 子屬性來建立包含公式的列。

示例

在以下示例中,表格的 name 屬性設定為“marklist”。“總計”列 E 的公式執行分數的總和,並分配 formula 子屬性的值。

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()

輸出

執行以上程式碼後,工作表將顯示包含分數總和的總計列。

AutoFilter
廣告

© . All rights reserved.