[]
        
(Showing Draft Content)

IValueSortField

Interface IValueSortField

All Superinterfaces:
ISortField
All Known Implementing Classes:
ValueSortField

public interface IValueSortField extends ISortField
Represents the sort field by cell value (ascending or descending or custom value list).

Use this interface to describe how a range is sorted by cell values. A value sort field can sort in ascending or descending order, or by a custom value list configured through setCustomValues(String). It also exposes the sort field's data option through getDataOption() and 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()
      Gets the data option of the sort field.

      The data option specifies how text values are treated during sorting, such as sorting text normally or sorting text as numbers. Use setDataOption(SortDataOption) to change this setting.

      
       IValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending);
       sortField.setDataOption(SortDataOption.TextAsNumbers);
       SortDataOption dataOption = sortField.getDataOption();
       
      Returns:
      The data option of the sort field.
    • setDataOption

      void setDataOption(SortDataOption value)
      Sets the data option of the sort field.

      Use this method to control how text values are treated during sorting. For example, SortDataOption.TextAsNumbers sorts text values as numeric data.

      
       IValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending);
       sortField.setDataOption(SortDataOption.TextAsNumbers);
       
      Parameters:
      value - The data option to apply to the sort field.
    • getOrder

      SortOrder getOrder()
      Gets the sort order.

      Returns the SortOrder currently configured for this value sort field. Use getCustomValues() to inspect whether the field is configured with a custom value list.

      
       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:
      The current sort order for this value sort field.
    • setOrder

      void setOrder(SortOrder value)
      Sets the sort order.
      
       IValueSortField sortField = new ValueSortField(worksheet.getRange("A1:A4"), SortOrder.Ascending);
       sortField.setOrder(SortOrder.Descending);
       SortOrder order = sortField.getOrder();
       
      Parameters:
      value - The sort order.
    • getCustomValues

      String getCustomValues()
      Gets the custom value list, such as 3,2,5,1.

      If this property is not an empty string, the sort order is determined by the custom values list.

      
       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:
      The custom value list string. Returns an empty string if no custom sorting values are specified.
    • setCustomValues

      void setCustomValues(String value)
      Sets the custom value list, such as 3,2,5,1.

      If this property is not an empty string, the sort order is determined by the custom values list.

      
       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 - The custom value list string. Pass an empty string if no custom sorting values are specified.