使用openpyxl插入表

时间:2016-01-28 23:57:31

标签: python python-2.7 openpyxl

有没有办法用openpyxl(或者可能是另一个库)将表插入Excel工作表?通过“插入表格”,我指的是概述here的过程,其中 - 在Excel中 - 将突​​出显示一组单元格,选择“插入”选项卡,然后单击“表”图标。

我在worksheet module中找不到任何合适的方法。我也看到table module,但我找不到任何如何使用它的例子。

3 个答案:

答案 0 :(得分:6)

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

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

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库

答案 1 :(得分:3)

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

答案 2 :(得分:2)

支持,现在文档中有一个示例:

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

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