[]
ISortFieldCellColorSortField, FontColorSortField, IconSortField, ValueSortField此类为工作表排序提供 ISortField 的通用实现。它封装具体排序字段类型所使用的共享排序元数据,包括键区域、多键排序中的排序优先级,以及由 ISortField.getSortOn() 指定的条件。
定义值、单元格填充颜色、字体颜色或图标的排序行为时,请使用其具体子类之一。此类型的实例通常作为排序定义的一部分进行管理,而不是直接实例化。
final IRangegetKey()final intfinal SortOnTypefinal voidsetPriority(int value) 返回分配给此排序字段的 IRange。此区域用于标识评估该字段排序顺序的单元格。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Name", "Score"},
{"Tom", 80},
{"Ada", 95},
{"Ken", 88}
});
ISortField sortField = new ValueSortField(worksheet.getRange("B2:B4"), SortOrder.Ascending);
IRange key = sortField.getKey();
getKey in interface ISortField使用此属性可以确定多个排序字段一起使用时应用此排序字段的顺序。要更改优先级,请使用 setPriority(int)。
worksheet.getRange("A1:C5").setValue(new Object[][] {
{"Group", "Code", "Rank"},
{2, "g", 30},
{1, "z", 20},
{1, "a", 10},
{3, "b", 40}
});
ISort sort = worksheet.getSort();
sort.setRange(worksheet.getRange("A1:C5"));
sort.getSortFields().add(new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending));
ValueSortField sortField = new ValueSortField(worksheet.getRange("B2:B5"), SortOrder.Descending);
sort.getSortFields().add(sortField);
sortField.setPriority(1);
int priority = sortField.getPriority();
getPriority in interface ISortField
worksheet.getRange("A1:C5").setValue(new Object[][] {
{"Group", "Code", "Rank"},
{2, "g", 30},
{1, "z", 20},
{1, "a", 10},
{3, "b", 40}
});
ISort sort = worksheet.getSort();
sort.setRange(worksheet.getRange("A1:C5"));
sort.getSortFields().add(new ValueSortField(worksheet.getRange("A2:A5"), SortOrder.Ascending));
ValueSortField sortField = new ValueSortField(worksheet.getRange("B2:B5"), SortOrder.Descending);
sort.getSortFields().add(sortField);
sortField.setPriority(1);
setPriority in interface ISortFieldvalue - 此排序字段在多字段排序中的优先级。返回值取决于具体的排序字段类型。ValueSortField 返回 SortOnType.Values,CellColorSortField 返回 SortOnType.CellColor,FontColorSortField 返回 SortOnType.FontColor,IconSortField 返回 SortOnType.CellIcon。
worksheet.getRange("A1:A3").setValue(new Object[][] {
{3}, {1}, {2}
});
SortFieldBase sortField = new ValueSortField(worksheet.getRange("A1:A3"), SortOrder.Ascending);
SortOnType sortOn = sortField.getSortOn();
getSortOn in interface ISortFieldSortOnType,指定此排序字段是按值、单元格颜色、字体颜色还是图标排序。