Dekodning Pivot Cache poster vid inläsning av Excel fil
Möjliga användningsscenario
När du skapar en pivottabell tar Microsoft Excel en kopia av källdata och lagrar den i Pivot Cache. Pivot Cache hålls i minnet i Microsoft Excel. Du kan inte se den, men det är datan som pivottabellen hänvisar till när du bygger din pivottabell eller ändrar en Slicer-val eller flyttar rader/kolumner. Detta gör att Microsoft Excel kan vara mycket reaktivt på förändringar i pivottabellen, men det kan också dubbla storleken på din fil. Trots allt är Pivot Cache bara en kopia av din källdata så det är logiskt att din filstorlek kommer att vara potentiellt dubblerad.
När du laddar din Excel-fil i Workbook-objektet kan du bestämma om du också vill ladda Pivot Cache-poster eller inte med hjälp av LoadOptions.setParsingPivotCachedRecords-egenskapen. Standardvärdet för denna egenskap är false. Om Pivot Cache är ganska stor kan det öka prestandan. Men om du också vill ladda Pivot Cache-poster bör du ställa in denna egenskap som true.
Dekodning Pivot Cache-poster vid inläsning av Excel-fil
Följande exempelkod förklarar användningen av LoadOptions.setParsingPivotCachedRecords-egenskapen. Den laddar den provpå Excel-filen samtidigt som den dekoderar de pivot-cache-posterna. Därefter uppdaterar den pivotabell och sparar den som utdata Excel-fil.
Exempelkod
const AsposeCells = require("aspose.cells.node"); | |
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Create load options | |
var options = new AsposeCells.LoadOptions(); | |
//Set ParsingPivotCachedRecords true, default value is false | |
options.setParsingPivotCachedRecords(true); | |
//Load the sample Excel file containing pivot table cached records | |
var wb = new AsposeCells.Workbook("sampleParsingPivotCachedRecordsWhileLoadingExcelFile.xlsx", options); | |
//Access first worksheet | |
var ws = wb.getWorksheets().get(0); | |
//Access first pivot table | |
var pt = ws.getPivotTables().get(0); | |
//Set refresh data flag true | |
pt.setRefreshDataFlag(true); | |
//Refresh and calculate pivot table | |
pt.refreshData(); | |
pt.calculateData(); | |
//Set refresh data flag false | |
pt.setRefreshDataFlag(false); | |
//Save the output Excel file | |
wb.save("outputParsingPivotCachedRecordsWhileLoadingExcelFile.xlsx"); |