изменить исходные данные в существующей сводной таблице python - PullRequest
0 голосов
/ 27 февраля 2020

пытается обновить исходные данные в существующей сводной таблице, но я не могу это сделать, я борюсь со вчерашнего дня, я пытался сделать chnage pivotcache (), но это не случайно, это кусок кода, который я пытаясь до сих пор

excel_app = win32com.client.dynamic.Dispatch("Excel.Application")
excel_app.Interactive = False
excel_app.Visible = False
excel_app.DisplayAlerts = False
xlBook = excel_app.Workbooks.Open(r'C:\Users\7\Desktop\o_P_Script\S_ext.xlsx')
ws = xlBook.Worksheets['Sheet2']
ws.Unprotect()  # IF protected
pivotCount = ws.PivotTables().Count
print("pivot count is",pivotCount

for j in range(1, pivotCount + 1):
    ws.PivotTables(j).PivotCache().Refresh()

# Put protection back on
#ws.Protect(DrawingObjects=True, Contents=True, Scenarios=True, AllowUsingPivotTables=True)
xlBook.Close(SaveChanges=1)

del xlBook

excel_app.Quit()
del excel_app

или как я могу изменить это на python код

Sub ChangePivotSourceData()

Dim pt As PivotTable

For Each pt In ActiveWorkbook.Worksheets("Sheet1").PivotTables
         pt.ChangePivotCache ActiveWorkbook.PivotCaches.Create _
            (SourceType:=xlDatabase, SourceData:="MyData")
Next pt

End Sub
...