ExcelScript.SortField interface

表示排序操作中的条件。

属性

ascending

指定是否以升序方式完成排序。

color

如果排序按字体或单元格颜色排序,则指定该颜色是条件的目标颜色。

dataOption

表示此字段的其他排序选项。

icon

如果排序位于单元格的图标上,则指定该图标,该图标是条件的目标。

key

根据条件所针对的排序方向) 指定列 (或行。 表示与第一列(或行)的偏移量。

sortOn

指定此条件的排序类型。

subField

指定要排序的富值的目标属性名称的子字段。

属性详细信息

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

如果排序位于单元格的图标上,则指定该图标,该图标是条件的目标。

icon?: 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

指定此条件的排序类型。

sortOn?: SortOn;

属性值

subField

指定要排序的富值的目标属性名称的子字段。

subField?: string;

属性值

string