Actualizar segmentador con JavaScript a través de C++
Escenarios de uso posibles
Si deseas actualizar un segmentador en Microsoft Excel, selecciona o deselecciona sus elementos, y el segmentador actualizará la tabla o la tabla dinámica en consecuencia. Usa Slicer.slicerCacheItems para seleccionar o deseleccionar elementos del segmentador con Aspose.Cells y luego llama al método Slicer.refresh() para actualizar la tabla o la tabla dinámica.
Cómo actualizar filtro
El siguiente código de muestra carga el archivo Excel de muestra que contiene un filtro existente. Desactiva los elementos 2 y 3 del filtro y actualiza el filtro. Luego guarda el libro de trabajo como archivo Excel de salida. La captura de pantalla siguiente muestra el efecto del código de muestra en el archivo Excel de muestra. Como se puede ver en la captura de pantalla, al actualizar el filtro con los elementos seleccionados también se ha actualizado la tabla dinámica correspondientemente.

Código de muestra
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Update Slicer</title>
</head>
<body>
<h1>Update Slicer Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx" />
<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, Utils } = 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');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate Workbook from uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access first worksheet
const ws = workbook.worksheets.get(0);
// Access the first slicer inside the slicer collection
const slicer = ws.slicers.get(0);
// Access the slicer items via slicer cache
const items = slicer.slicerCache.slicerCacheItems;
// Iterate items and deselect "Pink" and "Green"
for (let i = 0; i < items.count; i++) {
const item = items.get(i);
if (item.value === "Pink" || item.value === "Green") {
item.selected = false;
}
}
// Refresh slicer to apply changes
slicer.refresh();
// Save modified workbook and provide download link
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'out.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Slicer updated successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>