Skip to Content
🎉 Univer 0.6.7 is released.Read more →

Sort

Facade APIHas Paid PlanUniver ServerUniver on Node.jsPreset
---UniverSheetsSortPreset

The sort plugin provides sorting functionality for cells in ranges.

This feature includes the following plugin packages:

Presets Installation

import { createUniver, defaultTheme, LocaleType, merge } from '@univerjs/presets'; import { UniverSheetsCorePreset } from '@univerjs/presets/preset-sheets-core'; import UniverPresetSheetsCoreEnUS from '@univerjs/presets/preset-sheets-core/locales/en-US'; import { UniverSheetsSortPreset } from '@univerjs/presets/preset-sheets-sort'; import SheetsSortEnUS from '@univerjs/presets/preset-sheets-sort/locales/en-US'; import '@univerjs/presets/lib/styles/preset-sheets-core.css' import '@univerjs/presets/lib/styles/preset-sheets-sort.css' const { univerAPI } = createUniver({ locale: LocaleType.EN_US, locales: { [LocaleType.EN_US]: merge( {}, UniverPresetSheetsCoreEnUS, SheetsSortEnUS ), }, theme: defaultTheme, presets: [ UniverSheetsCorePreset(), UniverSheetsSortPreset() ] });

Piecemeal Installation

npm install @univerjs/sheets-sort @univerjs/sheets-sort-ui
import { LocaleType, merge, Univer } from '@univerjs/core'; import { defaultTheme } from "@univerjs/design"; import { UniverSheetsSortPlugin } from '@univerjs/sheets-sort'; import { UniverSheetsSortUIPlugin } from '@univerjs/sheets-sort-ui'; import SheetsSortUIEnUS from '@univerjs/sheets-sort-ui/locale/en-US'; import '@univerjs/sheets-sort-ui/lib/index.css'; import '@univerjs/sheets-sort/facade'; const univer = new Univer({ theme: defaultTheme, locale: LocaleType.EN_US, locales: { [LocaleType.EN_US]: merge( SheetsSortUIEnUS ), }, }); univer.registerPlugin(UniverSheetsSortPlugin); univer.registerPlugin(UniverSheetsSortUIPlugin);

Facade API

To get full defination of facade api, please refer to FacadeAPI

Worksheet Sort

FWorksheet.sort(colIndex, asc) method can sort the worksheet by the specified column.

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); // Sorts the worksheet by the column A in ascending order. fWorksheet.sort(0); // Sorts the worksheet by the column A in descending order. fWorksheet.sort(0, false);

区域排序

FRange.sort(column) method can sort the cells in the given range by the specified column and order.

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); const fRange = fWorksheet.getRange('D1:G10'); // Sorts the range by the first column in ascending order. fRange.sort(0); // Sorts the range by the first column in descending order. fRange.sort({ column: 0, ascending: false }); // Sorts the range by the first column in descending order and the second column in ascending order. fRange.sort([{ column: 0, ascending: false }, 1]);

Event Listening

Full event type definitions, please refer to Events.

SheetRangeSorted method is triggered after the cell range is sorted.

const callbackDisposable = univerAPI.addEvent(univerAPI.Event.SheetRangeSorted, (params) => { console.log(params); const { workbook, worksheet, range, sortColumn } = params; }); // Remove the event listener, use `callbackDisposable.dispose()`

SheetBeforeRangeSort method is triggered before the cell range is sorted.

const callbackDisposable = univerAPI.addEvent(univerAPI.Event.SheetBeforeRangeSort, (params) => { console.log(params); const { workbook, worksheet, range, sortColumn } = params; // Cancel the sorting operation. params.cancel = true; }); // Remove the event listener, use `callbackDisposable.dispose()`

Was this page helpful?
Last updated on