python-3.x 如何使用xlwings调整表格大小?

hrirmatl  于 2022-11-19  发布在  Python
关注(0)|答案(1)|浏览(336)

我试图找出如何使用xlwings调整表的大小,但无法找出如何。
我已尝试使用resize(range)属性,但遇到以下错误:

AttributeError: 'str' object has no attribute 'api'

这是我得到的错误代码:

import xlwings as xw

tableau = xw.books['test_book.xlsx'].sheets[0].tables[0]

tableau.resize('<Range [test_book.xlsx]Feuil1!$A$1:$B$6>')

我尝试了不同的范围属性值,如$A$1:$B$6A1:B6,但仍然无法使其工作。
那么我如何使用xlwings来调整表格的大小呢?

ccrfmcuu

ccrfmcuu1#

不需要时,表格会自动调整大小。
这是我针对您的上一个问题运行的代码,使用的Excel文件包含一个表“Table1”,该表由3列和3行组成,并带有标题行,因此表的范围为A1:C4。该代码添加了另外两行,一行作为单独的单元格,另一行作为元组。随着每添加一行,表的大小都会增加,以包含添加的行。

import xlwings as xw

workbook = 'table1.xlsx'

wb = xw.Book(workbook)
ws = wb.sheets('Sheet1')

print("Original Table")
table = ws.cells.table
print("Table Range: " + str(table.range.address))

# Added data by cell
ws.range('A5').value = '444'
ws.range('B5').value = '333'
ws.range('C5').value = '222'
table2 = ws.cells.table
print("Table Range after 1 row added: " + str(table2.range.address))

### Added row
ws['A6'].value = [111, 999, 987]
table3 = ws.cells.table
print("Table Range after 2nd row added: " + str(table3.range.address))

wb.save(workbook)
wb.close()

输出

Original Table  
Table Range: $A$1:$C$4

Added rows  
Table Range after 1 row added: $A$1:$C$5  
Table Range after 2nd row added: $A$1:$C$6

相关问题