[]
        
首页
开发者学堂
文档
论坛
市场
生态机会
活动
立即试用
(Showing Draft Content)

IScenarios

Interface IScenarios

All Superinterfaces:
Iterable<IScenario>

public interface IScenarios extends Iterable<IScenario>
表示工作表中 IScenario 对象的集合。

此接口提供对工作表 What-If 分析方案的访问。使用 IWorksheet.getScenarios() 可以获取该集合,然后添加、检索并遍历工作表中已保存的方案。


 List<Object> values = Arrays.<Object>asList(0.05, 0.10, 0.15);
 IScenarios scenarios = worksheet.getScenarios();
 scenarios.add("Discount Plan", worksheet.getRange("B1:B3"), values, "Quarterly discount rates", true, false);
 IScenario scenario = scenarios.get("Discount Plan");
 
  • Method Details

    • getCount

      int getCount()
      返回集合中的对象数量。

      此属性返回当前工作表方案集合中 IScenario 对象的数量。

      
       worksheet.getRange("B2").setValue(0.05);
       worksheet.getRange("B3").setValue(0.08);
       IRange range = worksheet.getRange("B2:B3");
       worksheet.getScenarios().add("Discount Plan", range);
       int count = worksheet.getScenarios().getCount();
       
      Returns:
      集合中的对象数量。
    • get

      IScenario get(int index)
      通过索引获取方案。

      使用此方法可按位置从工作表的方案集合中检索方案。

      
       worksheet.getRange("B2").setValue(0.05);
       worksheet.getRange("B3").setValue(0.08);
       IRange range = worksheet.getRange("B2:B3");
       worksheet.getScenarios().add("Discount Plan", range);
       IScenario scenario = worksheet.getScenarios().get(0);
       
      Parameters:
      index - 要检索的方案在集合中的索引。
      Returns:
      指定索引处的方案。
    • get

      IScenario get(String name)
      通过名称获取方案。

      名称匹配不区分大小写。

      
       worksheet.getRange("B2").setValue(0.05);
       worksheet.getRange("B3").setValue(0.08);
       IRange range = worksheet.getRange("B2:B3");
       worksheet.getScenarios().add("Discount Plan", range);
       IScenario scenario = worksheet.getScenarios().get("Discount Plan");
       
      Parameters:
      name - 方案名称。
      Returns:
      具有指定名称的方案;如果不存在匹配的方案,则返回 null。
    • add

      IScenario add(String name, IRange changingCells)
      创建一个新的方案,并将其添加到当前工作表的方案列表中。

      假定方案值为 changingCells 中的当前值。作者名称(Document Solutions for Excel)和日期会自动作为注释文本添加。该方案被锁定,以防止更改。

      
       worksheet.getRange("B2").setValue(0.05);
       worksheet.getRange("B3").setValue(0.08);
       IRange range = worksheet.getRange("B2:B3");
       IScenario scenario = worksheet.getScenarios().add("Discount Plan", range);
       
      Parameters:
      name - 方案名称。
      changingCells - 引用方案可变单元格的 IRange 对象。
      Returns:
      新的 IScenario 对象。
    • add

      IScenario add(String name, IRange changingCells, List<Object> values)
      创建一个新的方案,并将其添加到当前工作表的方案列表中。

      作者名称(Document Solutions for Excel)和日期会自动作为注释文本添加。该方案被锁定,以防止更改。

      values 中的值与 changingCells 中的单元格一一对应。例如,如果 changingCells 为 "B2:C3",则按 B2、C2、B3 和 C3 的顺序应用这些值。如果 values 为 null,则使用 changingCells 中的当前值作为方案值。

      
       worksheet.getRange("C4").setValue(0.6);
       worksheet.getRange("D7").setValue(50);
       IScenario scenario = worksheet.getScenarios().add(
               "90% highest",
               worksheet.getRange("C4, D7"),
               Arrays.asList(0.9, 60));
       
      Parameters:
      name - 方案名称。
      changingCells - 引用方案可变单元格的 IRange 对象。
      values - 一个包含 changingCells 中单元格方案值的列表;如果为 null,则使用 changingCells 中的当前值。
      Returns:
      新的 IScenario 对象。
    • add

      IScenario add(String name, IRange changingCells, List<Object> values, String comment)
      创建一个新的方案,并将其添加到当前工作表的方案列表中。

      values 中的值与 changingCells 中的单元格一一对应。例如,如果 changingCells 为 "B2:C3",则按 B2、C2、B3 和 C3 的顺序应用这些值。如果 comment 为 null,Document Solutions for Excel 会自动添加作者名称和日期。

      
       IRange range = worksheet.getRange("D2:D4");
       IScenario scenario = worksheet.getScenarios().add(
           "Reduced Rates",
           range,
           Arrays.asList(0.05, 0.03, 0.02),
           "Adjusted discount rates");
       
      Parameters:
      name - 方案名称。
      changingCells - 引用方案可变单元格的 IRange 对象。
      values - 一个包含 changingCells 中单元格方案值的列表。
      comment - 方案的注释文本。如果为 null,则自动添加注释。
      Returns:
      新的 IScenario 对象。
    • add

      IScenario add(String name, IRange changingCells, List<Object> values, String comment, boolean locked)
      创建一个新的方案,并将其添加到当前工作表的方案列表中。

      values 中的值与 changingCells 中的单元格一一对应。例如,如果 changingCells 为 "B2:C3",则按 B2、C2、B3 和 C3 的顺序应用这些值。如果 values 为 null,则使用 changingCells 中的当前值作为方案值。如果 comment 为 null,Document Solutions for Excel 会自动添加作者名称和日期。

      
       IRange range = worksheet.getRange("B2:B3");
       IScenario scenario = worksheet.getScenarios().add(
           "Discount Plan",
           range,
           Arrays.<Object>asList(0.05, 0.08),
           "Quarterly discount rates",
           true);
       
      Parameters:
      name - 方案名称。
      changingCells - 引用方案可变单元格的 IRange 对象。
      values - 一个包含 changingCells 中单元格方案值的列表;如果为 null,则使用 changingCells 中的当前值。
      comment - 方案的注释文本。如果为 null,则自动添加注释。
      locked - true 表示锁定该方案以防止更改;否则为 false。
      Returns:
      新的 IScenario 对象。
      Throws:
      IllegalArgumentException - 如果已存在同名方案,或者 changingCells 不属于当前工作表。
    • add

      IScenario add(String name, IRange changingCells, List<Object> values, String comment, boolean locked, boolean hidden)
      创建一个新的方案,并将其添加到当前工作表的方案列表中。

      values 中的值与 changingCells 中的单元格一一对应。例如,如果 changingCells 为 "B2:C3",则按 B2、C2、B3 和 C3 的顺序应用这些值。如果 values 为 null,则使用 changingCells 中的当前值。如果 comment 为 null,Document Solutions for Excel 会自动添加作者名称和日期。

      
       worksheet.getRange("B2").setValue(0.1);
       worksheet.getRange("C2").setValue(0.15);
       IScenario scenario = worksheet.getScenarios().add(
           "Target Revenue",
           worksheet.getRange("B2:C2"),
           Arrays.<Object>asList(0.12, 0.18),
           "Discount assumptions",
           true,
           false);
       worksheet.getRange("B2:C2").setValue(new Object[][] {{0.2, 0.25}});
       scenario.show();
       Object appliedValues = worksheet.getRange("B2:C2").getValue();
       
      Parameters:
      name - 方案名称。
      changingCells - 引用方案可变单元格的 IRange 对象。
      values - 一个包含 changingCells 中单元格方案值的列表;null 表示使用这些单元格中的当前值。
      comment - 一个用于指定方案注释文本的字符串;null 会自动添加作者名称和日期。
      locked - true 表示锁定该方案以防止更改;否则为 false。
      hidden - true 表示隐藏该方案;否则为 false。
      Returns:
      新的 IScenario 对象。
      Throws:
      IllegalArgumentException - 如果已存在同名方案,或者 changingCells 不属于当前工作表。
    • iterator

      Iterator<IScenario> iterator()
      返回用于遍历此集合中方案的迭代器。

      使用此方法可按集合顺序遍历当前存储在工作表上的方案。

      
       worksheet.getRange("B2").setValue(0.05);
       worksheet.getRange("B3").setValue(0.08);
       IRange range = worksheet.getRange("B2:B3");
       worksheet.getScenarios().add("Discount Plan", range);
       Iterator<IScenario> scenarios = worksheet.getScenarios().iterator();
       if (scenarios.hasNext()) {
           IScenario scenario = scenarios.next();
       }
       
      Specified by:
      iterator in interface Iterable<IScenario>
      Returns:
      用于遍历此集合中 IScenario 对象的迭代器。