Web SDK

Сортировка

Функция сортировки позволяет упорядочивать данные в электронных таблицах, чтобы их было удобнее систематизировать и анализировать. Поддерживаются различные способы сортировки, в том числе по возрастанию, по убыванию и пользовательская сортировка, что помогает быстро находить нужные данные.

Фильтр и сортировка учебного плана

Отберите курсы и отсортируйте их по прогрессу. Идентификатор помогает найти ту же запись.

ID записиКурсПрогресс
1Sheets
86%
2Docs
100%
3Slides
64%
4Bases
92%
5Boards
48%
6PDFs
78%

Видимые записи: 6 / 6

Фильтр скрывает записи, а сортировка меняет порядок. Снимите фильтр, чтобы снова увидеть все записи.

Режим плагинов

Установка

Shell
pnpm add @univerjs/sheets-sort @univerjs/sheets-sort-ui

Использование

TypeScript
import { LocaleType, mergeLocales, Univer } from '@univerjs/core'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({  locale: LocaleType.EN_US,  locales: {    [LocaleType.EN_US]: mergeLocales(      SheetsSortUIEnUS,     ),  },})univer.registerPlugin(UniverSheetsSortPlugin)univer.registerPlugin(UniverSheetsSortUIPlugin)

Поддержка мобильных устройств

Сначала настройте мобильный редактор. В коде инициализации режима плагинов на этой странице замените указанные настольные регистрации мобильными экспортами тех же пакетов до открытия документа. Сохраните модели, стили, локализации и импорты Facade; не регистрируйте оба варианта.

ПакетНастольная регистрацияМобильная регистрация
@univerjs/sheets-sort-uiUniverSheetsSortUIPluginUniverSheetsSortMobileUIPlugin

Режим предустановок

Установка

Shell
pnpm add @univerjs/preset-sheets-sort

Использование

TypeScript
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import UniverPresetSheetsCoreEnUS from '@univerjs/preset-sheets-core/locales/en-US'import { UniverSheetsSortPreset } from '@univerjs/preset-sheets-sort'import UniverPresetSheetsSortEnUS from '@univerjs/preset-sheets-sort/locales/en-US'import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'import '@univerjs/preset-sheets-core/lib/index.css'import '@univerjs/preset-sheets-sort/lib/index.css'const { univerAPI } = createUniver({  locale: LocaleType.EN_US,  locales: {    [LocaleType.EN_US]: mergeLocales(      UniverPresetSheetsCoreEnUS,      UniverPresetSheetsSortEnUS,     ),  },  presets: [    UniverSheetsCorePreset(),    UniverSheetsSortPreset(),   ],})

Facade API

Полные определения типов Facade API приведены в разделе FacadeAPI.

Импорт

Примечание о режиме плагинов

Импортировать пакет Facade вручную нужно только в режиме плагинов. В режиме предустановок соответствующий пакет Facade уже включён, поэтому дополнительный импорт не требуется.

TypeScript
import '@univerjs/sheets-sort/facade'

Сортировка листа

Метод FWorksheet.sort(colIndex, asc) позволяет отсортировать лист по указанному столбцу.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Sorts the worksheet in ascending order based on the first columnfWorksheet.sort(0)// Sorts the worksheet in descending order based on the first columnfWorksheet.sort(0, false)

Сортировка диапазона

Метод FRange.sort(column) позволяет отсортировать ячейки указанного диапазона по заданному столбцу и направлению.

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

Обработчики событий

Полные определения типов событий приведены в разделе Events.

Событие SheetRangeSorted возникает после завершения сортировки диапазона ячеек.

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetRangeSorted, (params) => {  const { workbook, worksheet, range, sortColumn } = params})// Remove event listener using `disposable.dispose()`

Событие SheetBeforeRangeSort возникает перед сортировкой диапазона ячеек.

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetBeforeRangeSort, (params) => {  const { workbook, worksheet, range, sortColumn } = params  // Cancel the sorting operation  params.cancel = true})// Remove event listener using `disposable.dispose()`

Насколько полезно это руководство?

© 2026 DreamNum Co., Ltd.