[]
ISortField, IValueSortFieldUse this class to define value-based sorting in ascending order, descending order, or by a custom value list. A ValueSortField also lets you control how text values are treated during sorting through SortDataOption.
worksheet.getRange("A1:A4").setValue(new Object[][] {
{"10"},
{"2"},
{"30"},
{"4"}
});
ValueSortField sortField = new ValueSortField(worksheet.getRange("A1:A4"), SortOrder.Ascending);
sortField.setDataOption(SortDataOption.TextAsNumbers);
ValueSortField(IRange key) ValueSortField(IRange key,
SortOrder order) ValueSortField(IRange key,
String customValues) final String3,2,5,1.final SortDataOptionfinal SortOrdergetOrder()final voidsetCustomValues(String value) 3,2,5,1.final voidsetDataOption(SortDataOption value) final voidgetKey, getPriority, getSortOn, setPriorityclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetKey, getPriority, getSortOn, setPriority
worksheet.getRange("A1:B4").setValue(new Object[][] {
{2, "B"}, {1, "C"}, {1, "A"}, {3, "D"}
});
ValueSortField sortField = new ValueSortField(worksheet.getRange("A1:A4"));
worksheet.getRange("A1:B4").sort(SortOrientation.Columns, false, sortField);
key - The range that provides the values used as the sort key. Must not be null.Use this constructor with IRange.sort(SortOrientation,boolean,IValueSortField...) to sort a range by values.
IRange range = worksheet.getRange("A1:B4");
range.setValue(new Object[][] {
{2, "g"},
{1, "z"},
{1, "a"},
{3, "b"}
});
ValueSortField sortField = new ValueSortField(worksheet.getRange("A1:A4"), SortOrder.Descending);
range.sort(SortOrientation.Columns, false, sortField);
key - The range that provides the values used as the sort key.order - The sort order to apply to the key range.Use this constructor to sort by a user-defined value sequence instead of the normal ascending or descending order. The custom list string can contain values such as 3,2,5,1 or quoted text entries such as "\"High\", \"Medium\", \"Low\"".
worksheet.getRange("A1:B3").setValue(new Object[][] {
{"Medium", "Review"},
{"Low", "Archive"},
{"High", "Deploy"}
});
ValueSortField sortField = new ValueSortField(worksheet.getRange("A1:A3"), "\"High\", \"Medium\", \"Low\"");
worksheet.getRange("A1:B3").sort(SortOrientation.Columns, false, sortField);
key - The range that provides the sort key.customValues - The custom list string that defines the sort order.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.
ValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending);
sortField.setDataOption(SortDataOption.TextAsNumbers);
SortDataOption dataOption = sortField.getDataOption();
getDataOption in interface IValueSortFieldUse this method to control how text values are treated during sorting. For example, SortDataOption.TextAsNumbers sorts text values as numeric data.
ValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending);
sortField.setDataOption(SortDataOption.TextAsNumbers);
setDataOption in interface IValueSortFieldvalue - The data option to apply to the sort field.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}});
ValueSortField sortField = new ValueSortField(worksheet.getRange("A1:A2"), SortOrder.Descending);
SortOrder order = sortField.getOrder();
getOrder in interface IValueSortField
ValueSortField sortField = new ValueSortField(worksheet.getRange("A1:A4"), SortOrder.Ascending);
sortField.setOrder(SortOrder.Descending);
SortOrder order = sortField.getOrder();
setOrder in interface IValueSortFieldvalue - The sort order.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}
});
ValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), "3,2,5,1");
String customValues = sortField.getCustomValues();
getCustomValues in interface IValueSortField3,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}
});
ValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), "3,2,5,1");
sortField.setCustomValues("5,3,2,1");
setCustomValues in interface IValueSortFieldvalue - The custom value list string. Sets an empty string if no custom sorting values are specified.