我正在尝试刷新excel中的数据透视表,并使用python的win32com更新现有的过滤器。但是,我遇到了以下错误:
com_error: (-214735267, 'Exception occured.', (0, 'Microsoft Excel', 'PivotFields method of PivotTable class failed', 'xlmain11.chm', 0, -2146827284), None)
下面是我的代码:
import win32com.client
filepath = r'test.xlsx'
office = win32com.client.Dispatch('Excel.Application')
office.DisplayAlerts = False
wb = office.Workbooks.Open(filepath, False, False, None)
ws = wb.Worksheets[0]
for i in range(1,3):
ws.PivotTables(i).PivotCache().Refresh()
ws.PivotTables(1).PivotFields('Position_date').PivotFilters.Add2(34, None, '31/05/2021')
# 34 = xlAfterorEqualTo
wb.SaveAs(filepath, None, '', '')
office.Quit()
感谢我能得到的任何帮助。谢谢。
我遇到了一个问题。在我的例子中,我得到了错误,因为数据透视表字段名与源表字段名不匹配。