ExcelScript.SortField interface
表示排序操作中的条件。
属性
ascending | 指定是否以升序方式完成排序。 |
color | 如果排序按字体或单元格颜色排序,则指定该颜色是条件的目标颜色。 |
data |
表示此字段的其他排序选项。 |
icon | 如果排序位于单元格的图标上,则指定该图标,该图标是条件的目标。 |
key | 根据条件所针对的排序方向) 指定列 (或行。 表示与第一列(或行)的偏移量。 |
sort |
指定此条件的排序类型。 |
sub |
指定要排序的富值的目标属性名称的子字段。 |
属性详细信息
ascending
指定是否以升序方式完成排序。
ascending?: boolean;
属性值
boolean
color
如果排序按字体或单元格颜色排序,则指定该颜色是条件的目标颜色。
color?: string;
属性值
string
示例
/**
* This script sorts a range based on the color of the cells.
* It brings all red cells to the top of the range.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the range (A1:D8) to sort from the current worksheet.
const worksheet = workbook.getActiveWorksheet();
const rangeToSort = worksheet.getRange("A1:D8");
// Create a SortField for color sorting.
// This sorts the rows based on the fill color of each row's cell in the first column.
let colorSort: ExcelScript.SortField = {
ascending: true,
color: "FF0000", /* red */
key: 0,
sortOn: ExcelScript.SortOn.cellColor
};
// Apply the SortField to the range.
rangeToSort.getSort().apply([colorSort]);
}
dataOption
表示此字段的其他排序选项。
dataOption?: SortDataOption;
属性值
示例
/**
* This script sorts a table based on the values in column 1.
* If the text of a column-1 value can be treated as a number,
* it will be sorted in numerical order, rather than Unicode order
* (so 123 will come before 12.3).
*/
function main(workbook: ExcelScript.Workbook) {
// Get the first table on the current worksheet.
const currentSheet = workbook.getActiveWorksheet();
const table = currentSheet.getTables()[0];
// Create the sorting parameters.
const countSortField: ExcelScript.SortField = {
key: 1,
ascending: true,
dataOption: ExcelScript.SortDataOption.textAsNumber
};
// Apply the sort to the table.
const sort = table.getSort();
sort.apply([countSortField]);
}
icon
key
根据条件所针对的排序方向) 指定列 (或行。 表示与第一列(或行)的偏移量。
key: number;
属性值
number
示例
/**
* This script sorts the used range of the current worksheet.
*/
function main(workbook: ExcelScript.Workbook) {
// Get the used range of the current worksheet.
const activeRange = workbook.getActiveWorksheet().getUsedRange();
// Sort the rows in ascending order based on the last column.
activeRange.getSort().apply(
[{
ascending: true,
key: activeRange.getColumnCount() - 1
}],
false, /* Don't match case. */
true, /* Treat the first row as a header rows. */
ExcelScript.SortOrientation.rows
);
}
sortOn
subField
指定要排序的富值的目标属性名称的子字段。
subField?: string;
属性值
string