Skapa, manipulera eller ta bort scenarier från ark med JavaScript via C++
Contents
[
Hide
]
Ibland behöver du skapa, manipulera eller radera scenarier i kalkylblad. Ett scenario är en namngiven ‘vad om?'-modell som inkluderar variabelindataceller kopplade av en eller flera formler. Innan scenariot skapas, utforma kalkylbladet så att det innehåller minst en formel som beror på celler där olika värden kan sättas in. Följande exempel visar hur man skapar och tar bort scenarier från ett kalkylblad i en arbetsbok via Aspose.Cells-API:
Aspose.Cells erbjuder några användbara klasser, exempelvis ScenarioCollection, Scenario, ScenarioInputCellCollection och ScenarioInputCell. Den ger även egenskapen Worksheet.scenarios. Kodexemplet nedan öppnar en XLSX-fil som innehåller scenarier och tar bort ett befintligt scenario. Det lägger också till ett nytt scenario till arbetsbladet innan Excel-filen sparas. Exemplet använder en mycket enkel mallfil som innehåller ett scenario.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Scenarios Example</title>
</head>
<body>
<h1>Aspose.Cells Scenarios 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 } = 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');
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();
// Instantiate the Workbook by loading the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access first worksheet
const worksheet = workbook.worksheets.get(0);
if (worksheet.scenarios.count > 0) {
// Remove the existing first scenario from the sheet
worksheet.scenarios.removeAt(0);
}
// Create a scenario
const i = worksheet.scenarios.add("MyScenario");
// Get the scenario
const scenario = worksheet.scenarios.get(i);
// Add comment to it
scenario.comment = "Test scenario is created.";
// Get the input cells for the scenario
const sic = scenario.inputCells;
// Add the scenario on B4 (as changing cell) with default value
sic.add(3, 1, "1100000");
// Save the Excel file 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 = 'outBk_scenarios1.out.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
resultDiv.innerHTML = '<p style="color: green;">Process completed successfully. File ready for download.</p>';
});
</script>
</html>