Sort
Facade API | Has Paid Plan | Univer Server | Univer on Node.js | Preset |
---|---|---|---|---|
✅ | - | - | - | UniverSheetsSortPreset |
The sort plugin provides sorting functionality for cells in ranges.
This feature includes the following plugin packages:
@univerjs/sheets-sort
- Sort Plugin@univerjs/sheets-sort-ui
- Sort UI Plugin
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()`
Last updated on