Me gustaría saber cómo actualizar una fuente de datos de tabla dinámica existente. Estoy usando Microsoft.Office.Interop.Excel
y estoy apuntando a usuarios con Excel 2010.Cómo actualizar la fuente de datos de tabla dinámica usando C#?
Actualmente puedo actualizar la tabla dinámica que funciona bien, sin embargo, cuando se agregan más filas, quiero incluir estas filas en el origen de datos de la tabla dinámica. Por ejemplo, el origen de datos de la tabla dinámica cuando se ve en Excel es DataSourceWorksheet!$A$2:$U$26
y me gustaría que se cambie a DataSourceWorksheet!$A$2:$U$86
(60 filas más) después de que se haya ejecutado mi código de archivo de actualización/actualización de Excel.
Aquí es una versión simplificada de mi código
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) */
Una solución que puede funcionar, sería simplemente regenerar la tabla dinámica utilizando de nuevo wrkBook.PivotTableWizard(...)
. Sin embargo, esto no funcionará para mi situación, ya que los usuarios preferirían modificar su tabla dinámica al cambiar los campos seleccionados, filas, columnas, etc. Solo necesita actualizarse cuando cambie la hoja de trabajo del origen de datos.
No estoy seguro de por qué esto fue rechazado, parece una pregunta razonable para mí. – neontapir
Sí, tampoco estoy seguro, este no es el tipo de cosas que he encontrado fácilmente en MSDN o en recursos similares. –