既存のピボットテーブルデータソースを更新する方法を知りたいと思います。私は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や類似のリソースで簡単に見つけたものではありません。 –