使用openpyxl插入表格

12
有没有使用openpyxl(或其他库)向Excel工作表中插入表格的方法?所谓“插入表格”,是指在Excel中,选中一组单元格,选择“插入”选项卡并点击“表格”图标的过程。
这里有详细描述。在工作表模块中,我未发现任何合适的方法。 我还看到了一个表格模块,但找不到如何使用它的示例。
3个回答

12

Openpyxl 2.4.0版本增加了对表格的支持。但是,正如您所指出的那样,到目前为止,表格文档中没有提供任何示例。

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

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库。


谢谢,丹!在运行这个程序后,我似乎在Excel中打开工作簿时遇到了错误。它给了我一个“修复记录:来自/xl/tables/table1.xml部分(表格)的表格”。你有类似的结果吗? - Tom
我的错误是因为我不小心给两个不同的表分配了相同的名称。谢谢! - Tom
1
文档现在附带一个示例:https://openpyxl.readthedocs.io/en/stable/worksheet_tables.html - Tom

2

6
这个回答现在已经过时。 - Cory Kramer

2

链接已损坏:您是否指的是此链接 https://openpyxl.readthedocs.io/en/stable/worksheet_tables.html? - Jean-Francois T.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接