冻结
IWorksheetData.freeze 可以配置工作表的冻结状态。它的接口定义如下:
TypeScript
interface IFreeze { /** * 冻结列的数量 */ xSplit: number /** * 冻结行的数量 */ ySplit: number /** * 可滚动的起始行(视图主区域的起始行) */ startRow: number /** * 可滚动的起始列(视图主区域的起始列) */ startColumn: number}例如,我想冻结 B 列和第 2 行,可以这样配置:
JSON
{ "xSplit": 1, // 冻结 1 列,即 B 列 "ySplit": 1, // 冻结 1 行,即第 2 行 "startRow": 2, // 可滚动的起始行是第 3 行 "startColumn": 2 // 可滚动的起始列是第 C 列}Facade API
FWorksheet 类提供了几种方法来管理工作表中行和列的冻结状态。这些方法允许你设置、获取和取消冻结窗格。
设置冻结
TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()worksheet.setFreeze({ xSplit: 1, // 冻结 1 列,即 B 列 ySplit: 1, // 冻结 1 行,即第 2 行 startRow: 2, // 可滚动的起始行是第 3 行 startColumn: 2, // 可滚动的起始列是第 C 列})console.log('当前冻结状态:', worksheet.getFreeze())设置冻结列的数量
TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()// 设置 A-B 列冻结worksheet.setFrozenColumns(2)设置冻结行的数量
TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()// 设置前 3 行冻结worksheet.setFrozenRows(3)获取冻结状态
TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()const freezeState = worksheet.getFreeze()获取冻结列的数量
TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()const frozenColumns = worksheet.getFrozenColumns()获取冻结行的数量
TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()const frozenRows = worksheet.getFrozenRows()取消冻结
TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()// 取消所有冻结worksheet.cancelFreeze()你觉得这篇文档如何?