[]
提供对工作表或表的排序设置的访问,包括目标区域、区分大小写、方向、表头处理以及要应用的排序字段列表。使用 setRange(IRange) 定义要排序的单元格,通过 getSortFields() 配置字段,然后调用 apply() 执行排序。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Name", "Score"},
{"Tom", 80},
{"alice", 95},
{"Bob", 90}
});
ISort sort = worksheet.getSort();
sort.getSortFields().add(new ValueSortField(worksheet.getRange("A2:A4"), SortOrder.Ascending));
sort.setRange(worksheet.getRange("A1:B4"));
sort.setHeader(true);
sort.setMatchCase(true);
sort.apply();
voidapply()booleanbooleangetRange()ISortFields 对象,该对象表示排序条件列表。voidsetHeader(boolean value) voidsetMatchCase(boolean value) voidsetOrientation(SortOrientation value) void返回定义要排序单元格区域的 IRange 对象。
ISort sort = worksheet.getSort();
sort.setRange(worksheet.getRange("A1:B4"));
IRange range = sort.getRange();
IRange。使用此方法可以在调用 apply() 之前指定当前排序操作应用到的工作表区域。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Name", "Score"},
{"Tom", 88},
{"Amy", 92},
{"Bob", 75}
});
ISort sort = worksheet.getSort();
sort.setRange(worksheet.getRange("A1:B4"));
value - 要排序的区域。此属性指示应用排序时是否按字母大小写比较文本值。
ISort sort = worksheet.getSort();
sort.setMatchCase(true);
boolean matchCase = sort.getMatchCase();
true;否则返回 false。此属性指示应用排序时是否按字母大小写比较文本值。
ISort sort = worksheet.getSort();
sort.setMatchCase(true);
value - 如果排序区分大小写,则为 true;否则为 false。排序方向确定排序操作是按列应用还是按行应用。
worksheet.getSort().setRange(worksheet.getRange("A1:B4"));
worksheet.getSort().setOrientation(SortOrientation.Columns);
SortOrientation orientation = worksheet.getSort().getOrientation();
SortOrientation.Columns 或 SortOrientation.Rows。使用 SortOrientation.Columns 按列排序,或使用 SortOrientation.Rows 按行排序。
ISort sort = worksheet.getSort();
sort.setOrientation(SortOrientation.Rows);
value - 排序方向。ISortFields 对象,该对象表示排序条件列表。返回定义此排序操作的排序键的 ISortFields 集合。可以使用返回的集合在调用 apply() 之前添加、移除或检查排序字段。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Name", "Score"},
{"Alice", 90},
{"Bob", 80},
{"Carol", 95}
});
ISort sort = worksheet.getSort();
sort.setRange(worksheet.getRange("A1:B4"));
ISortFields sortFields = sort.getSortFields();
sortFields.add(new ValueSortField(worksheet.getRange("B2:B4"), SortOrder.Descending));
ISortFields 对象。使用此属性可以确定当前排序配置是否将排序区域中的第一行视为表头行。
worksheet.getRange("A1:B3").setValue(new Object[][] {
{"Name", "Score"},
{"Alice", 100},
{"Bob", 200}
});
ITable table = worksheet.getTables().add(worksheet.getRange("A1:B3"), true);
boolean hasHeader = table.getSort().getHeader();
true;否则返回 false。使用此属性可设置排序配置是否将排序区域中的第一行视为表头行。
worksheet.getRange("A1:B3").setValue(new Object[][] {
{"Name", "Score"},
{"Alice", 100},
{"Bob", 200}
});
ITable table = worksheet.getTables().add(worksheet.getRange("A1:B3"), true);
table.getSort().setHeader(true);
value - 如果排序区域包含表头行,则为 true;否则为 false。设置排序区域并添加所需排序字段后,调用此方法。如果 getHeader() 返回 true,则排序区域中的第一行会被视为表头行且不会移动。
worksheet.getRange("A1:B4").setValue(new Object[][] {
{"Name", "Score"},
{"Tom", 80},
{"Amy", 95},
{"Bob", 90}
});
ISort sort = worksheet.getSort();
sort.getSortFields().add(new ValueSortField(worksheet.getRange("B2:B4"), SortOrder.Descending));
sort.setRange(worksheet.getRange("A1:B4"));
sort.setHeader(true);
sort.apply();