排序

排序功能允許使用者對電子表格中的資料進行排序,以便更好地組織和分析資訊。它支援多種排序方式,包括升序、降序和自訂排序,幫助使用者快速找到所需資料。

篩選與排序學習計畫

先篩選關注的記錄,再按學習進度排序。透過記錄 ID 觀察同一筆資料的位置。

記錄 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 SheetsSortUIZhTW from '@univerjs/sheets-sort-ui/locale/zh-TW'import '@univerjs/sheets-sort-ui/lib/index.css'import '@univerjs/sheets-sort/facade'const univer = new Univer({  locale: LocaleType.ZH_TW,  locales: {    [LocaleType.ZH_TW]: mergeLocales(      SheetsSortUIZhTW,     ),  },})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 UniverPresetSheetsCoreZhTW from '@univerjs/preset-sheets-core/locales/zh-TW'import { UniverSheetsSortPreset } from '@univerjs/preset-sheets-sort'import UniverPresetSheetsSortZhTW from '@univerjs/preset-sheets-sort/locales/zh-TW'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.ZH_TW,  locales: {    [LocaleType.ZH_TW]: mergeLocales(      UniverPresetSheetsCoreZhTW,      UniverPresetSheetsSortZhTW,     ),  },  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()// 按照第一列升序排序工作表fWorksheet.sort(0)// 按照第一列降序排序工作表fWorksheet.sort(0, false)

區域排序

FRange.sort(column) 方法可以按指定的列和順序對給定範圍內的單元格進行排序。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const fRange = fWorksheet.getRange('D1:G10')// 按照第一列升序排序區域fRange.sort(0)// 按照第一列降序排序區域fRange.sort({ column: 0, ascending: false })// 按照第一列降序,第二列升序排序區域fRange.sort([{ column: 0, ascending: false }, 1])

事件監聽

完整事件型別定義,請檢視 Events。

SheetRangeSorted 事件在單元格範圍排序完成後觸發。

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetRangeSorted, (params) => {  const { workbook, worksheet, range, sortColumn } = params})// 移除事件監聽器,使用 `disposable.dispose()`

SheetBeforeRangeSort 事件在單元格範圍排序前觸發。

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetBeforeRangeSort, (params) => {  const { workbook, worksheet, range, sortColumn } = params  // 取消排序操作  params.cancel = true})// 移除事件監聽器,使用 `disposable.dispose()`

你覺得這篇文檔如何?

© 2026 DreamNum Co., Ltd.