[]
IScenario 表示工作表中已保存的 What-If 分析输入集。它将方案名称与可变单元格一起存储,并且可以显示、更新、隐藏、锁定或删除。
worksheet.getRange("B2:B3").setValue(new Object[][] {
{100},
{120}
});
IScenario scenario = worksheet.getScenarios().add("Forecast", worksheet.getRange("B2:B3"));
scenario.setComment("Projected sales inputs");
voidchangeScenario(IRange changingCells) voidchangeScenario(IRange changingCells,
List<Object> values) voiddelete()IRange 对象。booleanintgetIndex()booleangetName()voidsetComment(String comment) voidsetHidden(boolean hidden) voidsetLocked(boolean locked) voidvoidshow()使用此方法可获取方案在工作表方案集合中的位置。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
int index = scenario.getIndex();
返回值是用于在工作表中标识该方案的方案名称。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
String name = scenario.getName();
使用此方法可重命名工作表方案集合中的方案。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
scenario.setName("Updated Sales Plan");
name - 方案名称。使用此方法可获取分配给该方案的描述文本。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
scenario.setComment("Created by Document Solutions for Excel");
String comment = scenario.getComment();
使用此方法可更新分配给该方案的描述文本。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
scenario.setComment("Updated sales inputs");
comment - 与方案关联的注释。此属性指示方案是否被标记为隐藏。配置方案行为时,可与 setHidden(boolean) 一起使用。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
scenario.setHidden(true);
boolean hidden = scenario.getHidden();
true;否则为 false。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
scenario.setHidden(true);
hidden - 方案隐藏时为 true;否则为 false。锁定的方案会被标记为受保护,不可更改。此设置对应于 setLocked(boolean)。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
scenario.setLocked(true);
boolean locked = scenario.getLocked();
true;否则为 false。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
scenario.setLocked(true);
locked - 方案锁定时为 true;否则为 false。IRange 对象。使用返回的区域可访问其值由方案存储并应用的单元格。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
IRange changingCells = scenario.getChangingCells();
worksheet.getRange("B2:B3").setValue(new Object[][] {{30}, {40}});
scenario.show();
Object appliedValues = changingCells.getValue();
使用 show() 可以将这些方案值应用到工作表,或者使用 getChangingCells() 获取与返回值相关联的单元格。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
List<Object> values = scenario.getValues();
使用此方法可移除不再需要的方案。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
scenario.delete();
受影响的单元格是该方案的可变单元格。此方法会用方案中存储的值替换这些单元格中的当前值。启用计算引擎时,引用这些可变单元格的公式会重新计算。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
worksheet.getRange("B2:B3").setValue(new Object[][] {{30}, {40}});
scenario.show();
使用此重载时,假定方案值为 changingCells 中单元格的当前值。使用 changeScenario(IRange,List) 可以显式指定方案值。
worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
worksheet.getRange("D2:D3").setValue(new Object[][] {{100}, {200}});
scenario.changeScenario(worksheet.getRange("D2:D3"));
changingCells - 引用方案可变单元格的 IRange 对象。使用此重载时,假定方案值为 changingCells 中单元格的当前值。这些值与 changingCells 中的单元格一一对应。例如,如果 changingCells 为 "B2:C3",则应按 B2、C2、B3 和 C3 的顺序提供这些值。
List<Object> values = Arrays.asList(0.05, 0.04, 0.03, 0.02, 0.05);
IScenario scenario = worksheet.getScenarios().add(
"Less Discount Rates", worksheet.getRange("D2:D6"), values);
scenario.changeScenario(worksheet.getRange("D2:D6"),
Arrays.asList(0.05, 0.06, 0.03, 0.02, 0.05));
changingCells - 引用方案可变单元格的 IRange 对象。values - 一个包含方案可变单元格值的列表。应按 changingCells 中单元格的相同顺序提供这些值。