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

IScenario

Interface IScenario


public interface IScenario
方案是一组输入值(称为可变单元格),会被命名并保存。

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");
 
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    changeScenario(IRange changingCells)
    将方案更改为一组新的可变单元格。
    void
    changeScenario(IRange changingCells, List<Object> values)
    将方案更改为一组新的可变单元格和值。
    void
    删除该方案。
    获取表示该方案可变单元格的 IRange 对象。
    获取与方案关联的注释文本。
    boolean
    获取表示方案是否隐藏的布尔值。
    int
    返回此方案在工作表方案集合中的索引。
    boolean
    获取表示方案是否锁定的布尔值。
    获取表示方案名称的字符串值。
    返回包含该方案可变单元格当前值的列表。
    void
    setComment(String comment)
    设置表示与方案关联的注释的 字符串值。
    void
    setHidden(boolean hidden)
    设置表示方案是否隐藏的 布尔值。
    void
    setLocked(boolean locked)
    设置表示方案是否锁定的 布尔值。
    void
    设置表示方案名称的字符串值。
    void
    将该方案中保存的值应用到工作表。
  • Method Details

    • getIndex

      int getIndex()
      返回此方案在工作表方案集合中的索引。

      使用此方法可获取方案在工作表方案集合中的位置。

      
       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();
       
      Returns:
      此方案在工作表方案集合中的索引。
    • getName

      String getName()
      获取表示方案名称的字符串值。

      返回值是用于在工作表中标识该方案的方案名称。

      
       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();
       
      Returns:
      方案名称。
    • setName

      void setName(String name)
      设置表示方案名称的字符串值。

      使用此方法可重命名工作表方案集合中的方案。

      
       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");
       
      Parameters:
      name - 方案名称。
    • getComment

      String getComment()
      获取与方案关联的注释文本。

      使用此方法可获取分配给该方案的描述文本。

      
       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();
       
      Returns:
      与方案关联的注释文本。
    • setComment

      void setComment(String comment)
      设置表示与方案关联的注释的 字符串值。

      使用此方法可更新分配给该方案的描述文本。

      
       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");
       
      Parameters:
      comment - 与方案关联的注释。
    • getHidden

      boolean getHidden()
      获取表示方案是否隐藏的布尔值。

      此属性指示方案是否被标记为隐藏。配置方案行为时,可与 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();
       
      Returns:
      方案隐藏时为 true;否则为 false。
    • setHidden

      void setHidden(boolean hidden)
      设置表示方案是否隐藏的 布尔值。
      
       worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
       IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
       scenario.setHidden(true);
       
      Parameters:
      hidden - 方案隐藏时为 true;否则为 false。
    • getLocked

      boolean getLocked()
      获取表示方案是否锁定的布尔值。

      锁定的方案会被标记为受保护,不可更改。此设置对应于 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();
       
      Returns:
      方案锁定时为 true;否则为 false。
    • setLocked

      void setLocked(boolean locked)
      设置表示方案是否锁定的 布尔值。
      
       worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
       IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
       scenario.setLocked(true);
       
      Parameters:
      locked - 方案锁定时为 true;否则为 false。
    • getChangingCells

      IRange getChangingCells()
      获取表示该方案可变单元格的 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();
       
      Returns:
      方案的可变单元格。
    • getValues

      List<Object> getValues()
      返回包含该方案可变单元格当前值的列表。

      使用 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();
       
      Returns:
      一个表示可变单元格当前值的列表。
    • delete

      void delete()
      删除该方案。

      使用此方法可移除不再需要的方案。

      
       worksheet.getRange("B2:B3").setValue(new Object[][] {{10}, {20}});
       IScenario scenario = worksheet.getScenarios().add("Sales Plan", worksheet.getRange("B2:B3"), null);
       scenario.delete();
       
    • show

      void show()
      将该方案中保存的值应用到工作表。

      受影响的单元格是该方案的可变单元格。此方法会用方案中存储的值替换这些单元格中的当前值。启用计算引擎时,引用这些可变单元格的公式会重新计算。

      
       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();
       
    • changeScenario

      void changeScenario(IRange changingCells)
      将方案更改为一组新的可变单元格。

      使用此重载时,假定方案值为 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"));
       
      Parameters:
      changingCells - 引用方案可变单元格的 IRange 对象。使用此重载时,假定方案值为 changingCells 中单元格的当前值。
    • changeScenario

      void changeScenario(IRange changingCells, List<Object> values)
      将方案更改为一组新的可变单元格和值。

      这些值与 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));
       
      Parameters:
      changingCells - 引用方案可变单元格的 IRange 对象。
      values - 一个包含方案可变单元格值的列表。应按 changingCells 中单元格的相同顺序提供这些值。