excel 如何在使用openpyxl和python时保持表格的样式不变?

eblbsuwk  于 2022-11-18  发布在  Python
关注(0)|答案(1)|浏览(341)

所以我的目标是使用openpyxl和python在一个已经存在的表中添加数据。我使用.cell(row, column).value方法完成了这一任务。
在这样做之后,我遇到了一个问题,因为我写入数据的表没有正确扩展。所以我找到了这个方法,它工作得很好:

from openpyxl import load_workbook

#getting the max number of row
ok = bs_sheet.max_row

#expanding the table
bs_sheet.tables['Table1'].ref = "A1:H"+str(ok)

我最初的想法是表格的格式会相应地扩展。我的意思是,如果我在一列中有一个公式,当使用openpyxl扩展时,它也会扩展公式(或位置等)。就像手动扩展一样。但它没有。这就是我的问题所在,因为我还没有找到任何东西。
我遇到的问题是,当扩展表时,已经在现有行上完成的整形不会向下扩展到表的行上。有没有办法解决这个问题?

yyyllmsg

yyyllmsg1#

使用xlwings有助于保持表格的相同格式(包括对正、公式)。
插入数据时,表格会自动展开。请参阅下列范例:

import xlwings as xw
wb = xw.Book('test_book.xlsx')

tableau = wb.sheets[0].tables[0]
sheet = wb.sheets[0]

tableau.name = 'new'
sheet.range(3,1).value = 'VAMONOS'

wb.save('test_book.xlsx')
wb.close()

在本例中,它将在一个已存在的表中添加值(并更改该表的名称)。再次打开该文件时,您将看到该表已展开。

相关问题