Actualizar y Calcular tabla dinámica con elementos calculados
Contents
[
Hide
]
Aspose.Cells for JavaScript vía C++ ahora soporta actualizar y calcular tablas dinámicas que contienen elementos calculados. Por favor usa PivotTable.refreshData y PivotTable.calculateData como de costumbre para realizar esta función.
Actualizar y Calcular Tabla Dinámica con Elementos Calculados
El siguiente código de ejemplo carga el archivo fuente de Excel que contiene una tabla dinámica con tres elementos calculados como “add”, “div”, “div2”. Primero cambiamos el valor de la celda D2 a 20 y luego actualizamos y calculamos la tabla dinámica usando las APIs de Aspose.Cells for JavaScript vía C++ y guardamos el libro en formato PDF. Los resultados en el PDF de salida muestran que Aspose.Cells for JavaScript vía C++ actualizó y calculó la tabla dinámica con éxito. Puedes verificarlo usando Microsoft Excel ingresando manualmente el valor 20 en la celda D2 y luego actualizando la tabla dinámica mediante la tecla rápida Alt+F5 o haciendo clic en el botón de Actualizar en la tabla dinámica.
<!DOCTYPE html>
<html>
<head>
<title>Refresh and Calculate Pivot Table Items</title>
</head>
<body>
<h1>Refresh and Calculate Pivot Table Items</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 } = 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 result = document.getElementById('result');
const downloadLink = document.getElementById('downloadLink');
if (!fileInput.files.length) {
result.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiating a Workbook object from the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Accessing the first worksheet in the Excel file
const sheet = workbook.worksheets.get(0);
// Change the value of cell D2
const cell = sheet.cells.get("D2");
cell.value = 20;
// Refresh and calculate all the pivot tables inside this sheet
sheet.refreshPivotTables();
// Save the workbook as PDF and provide a download link
const outputData = workbook.save(SaveFormat.Pdf);
const blob = new Blob([outputData]);
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'RefreshAndCalculateItems_out.pdf';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download PDF File';
result.innerHTML = '<p style="color: green;">Pivot tables refreshed and calculated. Click the download link to get the PDF.</p>';
});
</script>
</html>