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

IValueSortField

Interface IValueSortField

All Superinterfaces:
ISortField
All Known Implementing Classes:
ValueSortField

public interface IValueSortField extends ISortField
表示按单元格值(升序、降序或自定义值列表)排序的字段。

使用此接口可描述如何按单元格值对区域排序。值排序字段可以按升序或降序排序,也可以按通过 setCustomValues(String) 配置的自定义值列表排序。它还可通过 getDataOption() 和 setDataOption(SortDataOption) 获取或设置排序字段的数据选项。


 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Score"},
     {"A", 80},
     {"B", 95},
     {"C", 88}
 });
 IValueSortField sortField = new ValueSortField(worksheet.getRange("B2:B4"), SortOrder.Descending);
 sortField.setDataOption(SortDataOption.Normal);
 worksheet.getRange("A2:B4").sort(SortOrientation.Columns, false, sortField);
 
  • Method Details

    • getDataOption

      SortDataOption getDataOption()
      获取排序字段的数据选项。

      数据选项用于指定排序期间如何处理文本值,例如按普通文本排序,或将文本作为数字排序。使用 setDataOption(SortDataOption) 更改此设置。

      
       IValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending);
       sortField.setDataOption(SortDataOption.TextAsNumbers);
       SortDataOption dataOption = sortField.getDataOption();
       
      Returns:
      排序字段的数据选项。
    • setDataOption

      void setDataOption(SortDataOption value)
      设置排序字段的数据选项。

      使用此方法可控制排序期间如何处理文本值。例如,SortDataOption.TextAsNumbers 会将文本值作为数值数据排序。

      
       IValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending);
       sortField.setDataOption(SortDataOption.TextAsNumbers);
       
      Parameters:
      value - 要应用于排序字段的数据选项。
    • getOrder

      SortOrder getOrder()
      获取排序顺序。

      返回当前为此值排序字段配置的 SortOrder。使用 getCustomValues() 检查该字段是否配置了自定义值列表。

      
       worksheet.getRange("A1:A4").setValue(new Object[][] {{3}, {1}, {4}, {2}});
       IValueSortField sortField = new ValueSortField(worksheet.getRange("A1:A2"), SortOrder.Descending);
       SortOrder order = sortField.getOrder();
       
      Returns:
      此值排序字段的当前排序顺序。
    • setOrder

      void setOrder(SortOrder value)
      设置排序顺序。
      
       IValueSortField sortField = new ValueSortField(worksheet.getRange("A1:A4"), SortOrder.Ascending);
       sortField.setOrder(SortOrder.Descending);
       SortOrder order = sortField.getOrder();
       
      Parameters:
      value - 排序顺序。
    • getCustomValues

      String getCustomValues()
      获取自定义值列表,例如 3,2,5,1。

      如果此属性不为空字符串,则排序顺序由自定义值列表决定。

      
       worksheet.getRange("A1:A5").setValue(new Object[][] {
           {"Value"},
           {3},
           {2},
           {5},
           {1}
       });
       IValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), "3,2,5,1");
       String customValues = sortField.getCustomValues();
       
      Returns:
      自定义值列表字符串。如果未指定自定义排序值,则返回空字符串。
    • setCustomValues

      void setCustomValues(String value)
      设置自定义值列表,例如 3,2,5,1。

      如果此属性不为空字符串,则排序顺序由自定义值列表决定。

      
       worksheet.getRange("A1:A5").setValue(new Object[][] {
           {"Value"},
           {3},
           {2},
           {5},
           {1}
       });
       IValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), "3,2,5,1");
       sortField.setCustomValues("5,3,2,1");
       
      Parameters:
      value - 自定义值列表字符串。如果未指定自定义排序值,可将其设置为空字符串。