[]
ISortField, IValueSortField使用此类可以定义按值进行的升序、降序或自定义值列表排序。ValueSortField 还允许通过 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 - 提供用作排序键的值的区域。不得为 null。将此构造方法与 IRange.sort(SortOrientation,boolean,IValueSortField...) 一起使用,可按值对区域排序。
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 - 提供用作排序键的值的区域。order - 要应用于键区域的排序顺序。使用此构造方法可以按用户定义的值序列排序,而不是按普通的升序或降序排序。自定义列表字符串可以包含诸如 3,2,5,1 的值,或诸如 "\"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 - 提供排序键的区域。customValues - 定义排序顺序的自定义列表字符串。数据选项指定排序期间如何处理文本值,例如正常排序文本,或将文本按数字排序。使用 setDataOption(SortDataOption) 可以更改此设置。
ValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending);
sortField.setDataOption(SortDataOption.TextAsNumbers);
SortDataOption dataOption = sortField.getDataOption();
getDataOption in interface IValueSortField使用此方法可以控制排序期间如何处理文本值。例如,SortDataOption.TextAsNumbers 会将文本值按数值数据排序。
ValueSortField sortField = new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending);
sortField.setDataOption(SortDataOption.TextAsNumbers);
setDataOption in interface IValueSortFieldvalue - 要应用于排序字段的数据选项。返回当前为此值排序字段配置的 SortOrder。使用 getCustomValues() 可以检查该字段是否配置了自定义值列表。
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 - 排序顺序。3,2,5,1。如果此属性不是空字符串,则排序顺序由自定义值列表确定。
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。如果此属性不是空字符串,则排序顺序由自定义值列表决定。
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 - 自定义值列表字符串。如果未指定自定义排序值,则设置为空字符串。