Comment mettre à jour le tableau croisé dynamique de la source de données à l'aide de C#?

Je voudrais savoir comment mettre à jour un tableau croisé dynamique de la source de données. Je suis à l'aide de Microsoft.Office.Interop.Excel et le ciblage des utilisateurs avec Excel 2010.

Je suis actuellement en mesure d'actualiser le tableau croisé dynamique qui fonctionne très bien, cependant lorsque plusieurs lignes sont ajoutées je veux inclure ces lignes dans le tableau croisé dynamique de la source de données. Par exemple, le tableau croisé dynamique de la source de données dans Excel est DataSourceWorksheet!$A$2:$U$26 et je voudrais qu'il soit changé à DataSourceWorksheet!$A$2:$U$86 (plus de 60 lignes) après ma mise à jour/actualiser fichier excel code a exécuter.

Voici une version simplifiée de mon code

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) */

Une solution qui peut fonctionner, ce serait juste régénérer le tableau croisé dynamique en utilisant à nouveau wrkBook.PivotTableWizard( ... ) . Toutefois, cela ne fonctionnera pas pour ma situation puisque les utilisateurs préfèrent modifier leur tableau croisé dynamique en modifiant les champs sélectionnés, des lignes, des colonnes, etc. Il a juste besoin d'être mis à jour lorsque les données de la feuille de calcul source des changements.

Je ne sais pas pourquoi cela a été voté en bas, semble être une question tout à fait raisonnable pour moi.
Ouais, je ne suis pas sûr non plus, ce n'est pas le genre de chose que j'ai trouvé facilement sur MSDN ou dans d'autres ressources similaires.

OriginalL'auteur Joel Briggs | 2011-11-21