Analisi dei record memorizzati nella cache pivot durante il caricamento del file Excel
Possibili Scenari di Utilizzo
Quando si crea una tabella pivot, Microsoft Excel prende una copia dei dati di origine e li memorizza nella cache pivot. La cache pivot è memorizzata all’interno della memoria di Microsoft Excel. Non è possibile vederla, ma sono i dati a cui la tabella pivot fa riferimento quando si costruisce la tabella pivot o si modifica una selezione di sfilatori o si spostano righe/colonne. Questo consente a Microsoft Excel di rispondere molto rapidamente ai cambiamenti nella tabella pivot, ma può anche raddoppiare le dimensioni del file. Dopotutto, la cache pivot è solo una duplicazione dei dati di origine, quindi ha senso che le dimensioni del file siano potenzialmente raddoppiate.
Quando carichi il tuo file Excel all’interno dell’oggetto Workbook, puoi decidere se caricare anche i record della Cache Pivot o meno, usando la proprietà LoadOptions.parsingPivotCachedRecords. Il valore predefinito di questa proprietà è false. Se la Cache Pivot è molto grande, può migliorare le prestazioni. Se invece desideri caricare anche i record della Cache Pivot, devi impostare questa proprietà su true.
Analisi dei record memorizzati nella cache della tabella pivot durante il caricamento del file Excel
Il seguente esempio di codice spiega l’uso della proprietà LoadOptions.parsingPivotCachedRecords. Carica il file Excel di esempio mentre analizza i record della cache pivot. Quindi aggiorna la tabella pivot e la salva come file Excel di output.
Codice di Esempio
<!DOCTYPE html>
<html>
<head>
<title>Parsing Pivot Cached Records While Loading Example</title>
</head>
<body>
<h1>Parsing Pivot Cached Records While Loading Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, LoadOptions } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultDiv = document.getElementById('result');
const downloadLink = document.getElementById('downloadLink');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Create load options
const options = new LoadOptions();
// Set ParsingPivotCachedRecords true, default value is false
options.parsingPivotCachedRecords = true;
// Load the Excel file with load options
const wb = new Workbook(new Uint8Array(arrayBuffer), options);
// Access first worksheet
const ws = wb.worksheets.get(0);
// Access first pivot table
const pt = ws.pivotTables.get(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
const outputData = wb.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'outputParsingPivotCachedRecordsWhileLoadingExcelFile.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
resultDiv.innerHTML = '<p style="color: green;">Operation completed successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>