使用 openpyxl 插入 table

Inserting a table with openpyxl

openpyxl(或者可能是另一个库)是否有任何方法可以将 table 插入到 Excel 工作表中? "insert a table",我指的是 here 概述的过程,在 Excel 中,其中一个将突出显示一组单元格,select 插入选项卡,以及单击 Table 图标。

我没有在 worksheet module. I also see a table module 中找到任何 suitable 方法,但我找不到任何使用它的示例。

openpyxl 当前不支持 table 样式。如果需要,您可能想看看使用 Xlsxwriter。参见 https://xlsxwriter.readthedocs.org/en/latest/working_with_tables.html

Openpyxl 版本 2.4.0 添加了对 tables 的支持。但是,正如您所指出的,the documentation for tables 到目前为止没有提供任何示例。

以下是如何在工作表中创建 table 的简要示例:

import openpyxl

# create a new workbook and select the active worksheet
workbook = openpyxl.Workbook()
worksheet = workbook.active

# populate some sample data    
worksheet["A1"] = "Fruit"
worksheet["B1"] = "Color"
worksheet["A2"] = "Apple"
worksheet["B2"] = "Red"
worksheet["A3"] = "Banana"
worksheet["B3"] = "Yellow"
worksheet["A4"] = "Coconut"
worksheet["B4"] = "Brown"

# define a table style
mediumStyle = openpyxl.worksheet.table.TableStyleInfo(name='TableStyleMedium2',
                                                      showRowStripes=True)
# create a table
table = openpyxl.worksheet.table.Table(ref='A1:B4',
                                       displayName='FruitColors',
                                       tableStyleInfo=mediumStyle)
# add the table to the worksheet
worksheet.add_table(table)

# save the workbook file
workbook.save('fruit.xlsx')

注意:确保您安装了最新版本的 openpyxl 库

支持,现在文档里有例子:

http://openpyxl.readthedocs.io/en/stable/worksheet_tables.html

确保您拥有唯一的 headers(如文档中所述)并确保更改示例中的 table 名称:displayName="Table1" -> displayName="MyTable"