Create, Manipulate or Remove Scenarios from Worksheets
Contents
[
Hide
]
Sometimes, you need to create, manipulate or delete scenarios in spreadsheets. A scenario is a named ‘what if?’ model that includes variable input cells linked by one or more formulas. Before creating a scenario, design the worksheet so that it contains at least one formula that depends on cells that different values can be inserted into. The following example shows how to create and remove scenarios from a worksheet in a workbook via Aspose.Cells APIs.
Aspose.Cells provides some useful classes, for example, ScenarioCollection, Scenario, ScenarioInputCellCollection, and ScenarioInputCell classes. It also provides the Worksheet.Scenarios property. The sample code below opens an XLSX Excel file that contains some scenarios and removes an existing scenario. It also adds a new scenario to the worksheet before saving the Excel file. The example uses a very simple template file that contains a scenario.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate the Workbook | |
// Load an Excel file | |
Workbook workbook = new Workbook(dataDir+ "aspose-sample.xlsx"); | |
// Access first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
if (worksheet.Scenarios.Count > 0) | |
{ | |
// Remove the existing first scenario from the sheet | |
worksheet.Scenarios.RemoveAt(0); | |
// Create a scenario | |
int i = worksheet.Scenarios.Add("MyScenario"); | |
// Get the scenario | |
Scenario scenario = worksheet.Scenarios[i]; | |
// Add comment to it | |
scenario.Comment = "Test sceanrio is created."; | |
// Get the input cells for the scenario | |
ScenarioInputCellCollection sic = scenario.InputCells; | |
// Add the scenario on B4 (as changing cell) with default value | |
sic.Add(3, 1, "1100000"); | |
dataDir = dataDir + "outBk_scenarios1.out.xlsx"; | |
// Save the Excel file. | |
workbook.Save(dataDir); | |
Console.WriteLine("\nProcess completed successfully.\nFile saved at " + dataDir); | |
} |