Análisis de registros en caché de pivote al cargar un archivo de Excel

Posibles escenarios de uso

Cuando crea una tabla dinámica, Microsoft Excel toma una copia de los datos de origen y la almacena en la memoria caché dinámica. El Pivot Cache se encuentra dentro de la memoria de Microsoft Excel. No puede verlo, pero esos son los datos a los que hace referencia la tabla dinámica cuando crea su tabla dinámica o cambia una selección de segmentación o mueve filas/columnas. Esto permite que Microsoft Excel responda muy bien a los cambios en la tabla dinámica, pero también puede duplicar el tamaño de su archivo. Después de todo, Pivot Cache es solo un duplicado de sus datos de origen, por lo que tiene sentido que el tamaño de su archivo sea potencialmente el doble.

Cuando carga su archivo de Excel dentro del objeto Workbook, puede decidir si también desea cargar los registros de Pivot Cache o no, utilizando elLoadOptions.ParsingPivotCachedRecords propiedad. El valor predeterminado de esta propiedad esfalso . Si Pivot Cache es bastante grande, puede aumentar el rendimiento. Pero si también desea cargar los registros de Pivot Cache, debe establecer esta propiedad comoverdadero.

Análisis de registros en caché de pivote al cargar un archivo de Excel

El siguiente código de ejemplo explica el uso deLoadOptions.ParsingPivotCachedRecords propiedad. carga elejemplo de archivo de Excel mientras analiza los registros almacenados en caché de pivote. Luego actualiza la tabla dinámica y la guarda como elarchivo de salida de Excel.

Código de muestra

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Create load options
LoadOptions options = new LoadOptions();
//Set ParsingPivotCachedRecords true, default value is false
options.ParsingPivotCachedRecords = true;
//Load the sample Excel file containing pivot table cached records
Workbook wb = new Workbook("sampleParsingPivotCachedRecordsWhileLoadingExcelFile.xlsx", options);
//Access first worksheet
Worksheet ws = wb.Worksheets[0];
//Access first pivot table
PivotTable pt = ws.PivotTables[0];
//Set refresh data flag true
pt.RefreshDataFlag = true;
//Refresh and calculate pivot table
pt.RefreshData();
pt.CalculateData();
//Set refresh data flag false
pt.RefreshDataFlag = false;
//Save the output Excel file
wb.Save("outputParsingPivotCachedRecordsWhileLoadingExcelFile.xlsx");