我想知道如何更新現有的數據透視表數據源。我使用Microsoft.Office.Interop.Excel
與Excel 2010中如何使用C#更新數據透視表數據源?
針對用戶目前我能夠刷新數據透視表,工作正常,但是當更多的行添加我想包括在數據透視表的數據源,這些行。例如,在Excel中查看數據透視表數據源是DataSourceWorksheet!$A$2:$U$26
,我希望在更新/刷新excel文件代碼運行後將其更改爲DataSourceWorksheet!$A$2:$U$86
(多60行)。
這裏是我的代碼
Application excelApplication = new Application();
Workbooks workbooks = excelApplication.Workbooks;
wrkBook = workbooks.Open(EXCEL_DOCUMENT_PATH, Missing.Value, false, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, true, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value);
/* update data source worksheet code here (omitted for example) */
Worksheet pivotWorkSheet = (Worksheet)wrkBook.Sheets[PIVOT_SHEET_NAME];
PivotTable pivot = (PivotTable)pivotWorkSheet.PivotTables(pivotTableName);
/* I would like to update the pivot tables data source here...
I could use Range object from data source worksheet...
Basically just want to tell pivot table, use these cells now... */
pivot.RefreshTable();
/* cleanup code here (omitted for example) */
它可以工作,將剛剛再次重新生成的數據透視表使用wrkBook.PivotTableWizard(...)
一個解決方案的簡化版本。但是,這不適用於我的情況,因爲用戶更喜歡通過更改選定的字段,行,列等來修改數據透視表。只需在數據源工作表更改時更新它。
不知道爲什麼這是被拒絕的,似乎對我來說是一個合理的問題。 – neontapir
是的,我也不確定,這不是我在MSDN或類似資源中輕鬆找到的那種東西。 –