FSelection
Represents the active selection in the sheet.
This class should not be instantiated directly. Use factory methods on
univerAPIinstead.
Access
Access through:
Example
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const fSelection = fWorksheet.getSelection()const activeRange = fSelection.getActiveRange()console.log(activeRange)Setup
Register @univerjs/sheets or a preset that includes it. In plugin mode, import @univerjs/sheets/facade. Additional methods below require their listed plugin packages. See Facade setup.
@univerjs/sheets
FSelection.getActiveRange
Represents the active selection in the sheet. Which means the selection contains the active cell.
getActiveRange(): FRange | nullReturns
The active selection.
Examples
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const fRange = fWorksheet.getRange('A10:B11')fRange.activate()const fSelection = fWorksheet.getSelection()console.log(fSelection.getActiveRange().getA1Notation()) // A10:B11Types: FRange
Package: @univerjs/sheets · Type definitions
FSelection.getActiveRangeList
Represents the active selection list in the sheet.
getActiveRangeList(): FRange[]Returns
The active selection list.
Examples
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const fSelection = fWorksheet.getSelection()const activeRangeList = fSelection.getActiveRangeList()activeRangeList.forEach((range) => { console.log(range.getA1Notation())})Types: FRange
Package: @univerjs/sheets · Type definitions
FSelection.getActiveSheet
Returns the active sheet in the spreadsheet.
getActiveSheet(): FWorksheetReturns
The active sheet in the spreadsheet.
Examples
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const fSelection = fWorksheet.getSelection()const activeSheet = fSelection.getActiveSheet()console.log(activeSheet.equalTo(fWorksheet))Types: FWorksheet
Package: @univerjs/sheets · Type definitions
FSelection.getCurrentCell
Represents the current select cell in the sheet.
getCurrentCell(): Nullable<ISelectionCell>Returns
The primary cell of the current selection, or null when none exists.
Examples
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const fRange = fWorksheet.getRange('A10:B11')fRange.activate()const fSelection = fWorksheet.getSelection()const currentCell = fSelection.getCurrentCell()const { actualRow, actualColumn } = currentCellconsole.log(currentCell)console.log(`actualRow: ${actualRow}, actualColumn: ${actualColumn}`) // actualRow: 9, actualColumn: 0Types: ISelectionCell · Nullable
Package: @univerjs/sheets · Type definitions
FSelection.getNextDataRange
Get the next primary cell in the specified direction. If the primary cell not exists in selections, return null. The next primary cell in the specified direction is the next cell only within the current selection range. For example, if the current selection is A1:B2, and the primary cell is B1, the next cell in the right direction is A2 instead of C1.
getNextDataRange(direction: Direction): FRange | nullParameters
direction— Required. The direction to move the primary cell.The enum value is maybe one of the following: UP(0),RIGHT(1), DOWN(2), LEFT(3).
Returns
The next primary cell in the specified direction.
Examples
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')// make sure the active cell is A1 and selection is A1:B2const fRange = fWorksheet.getRange('A1:B2')fRange.activate()// get the next cell in the right direction, and update the primary cell to the next cell, now the active cell is B1let fSelection = fWorksheet.getSelection()const nextCell = fSelection.getNextDataRange(univerAPI.Enum.Direction.RIGHT)console.log(nextCell?.getA1Notation()) // B1fSelection = fSelection.updatePrimaryCell(nextCell)// get the next cell in the right direction, the next cell is A2const nextCell2 = fSelection.getNextDataRange(univerAPI.Enum.Direction.RIGHT)console.log(nextCell2?.getA1Notation()) // A2Package: @univerjs/sheets · Type definitions
FSelection.updatePrimaryCell
Update the primary cell in the selection. if the primary cell not exists in selections, add it to the selections and clear the old selections.
updatePrimaryCell(cell: FRange): FSelectionParameters
cell— Required. The new primary cell to update.
Returns
The new selection after updating the primary cell.Because the selection is immutable, the return value is a new selection.
Examples
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const fRange = fWorksheet.getRange('A10:B11')fRange.activate()const cell = fWorksheet.getRange('B11')let fSelection = fWorksheet.getSelection()fSelection = fSelection.updatePrimaryCell(cell)const currentCell = fSelection.getCurrentCell()const { actualRow, actualColumn } = currentCellconsole.log(currentCell)console.log(`actualRow: ${actualRow}, actualColumn: ${actualColumn}`) // actualRow: 10, actualColumn: 1Types: FSelection · FRange
Package: @univerjs/sheets · Type definitions
How is this guide?