ウィンドウ枠の固定(Freeze)

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 列}

ウィンドウ枠の固定

縦横にスクロールして、固定されたセルを確認します。

ABCDEFGH
1A1B1C1D1E1F1G1H1
2A2B2C2D2E2F2G2H2
3A3B3C3D3E3F3G3H3
4A4B4C4D4E4F4G4H4
5A5B5C5D5E5F5G5H5
6A6B6C6D6E6F6G6H6
7A7B7C7D7E7F7G7H7
8A8B8C8D8E8F8G8H8
9A9B9C9D9E9F9G9H9
10A10B10C10D10E10F10G10H10
11A11B11C11D11E11F11G11H11
12A12B12C12D12E12F12G12H12
13A13B13C13D13E13F13G13H13
14A14B14C14D14E14F14G14H14
15A15B15C15D15E15F15G15H15
16A16B16C16D16E16F16G16H16
17A17B17C17D17E17F17G17H17
18A18B18C18D18E18F18G18H18
{
  "startRow": 1,
  "startColumn": 1,
  "ySplit": 1,
  "xSplit": 1
}

split は固定する数、start はスクロール領域の開始インデックス(0 始まり)です。それより前の行・列は表示範囲外です。

Facade API

FWorksheet クラスは行および列の固定状態を管理するための複数のメソッドを提供します。これらにより、固定の設定、取得、解除が可能です。

固定を設定(Set Freeze)

TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()worksheet.setFreeze({  xSplit: 1, // 1 列固定(列 B)  ySplit: 1, // 1 行固定(行 2)  startRow: 2, // スクロール開始行は 3 行目  startColumn: 2, // スクロール開始列は C 列})console.log('The current freeze state:', worksheet.getFreeze())

固定列数を設定(Set Frozen Columns)

TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()// 列 A~B を固定worksheet.setFrozenColumns(2)

固定行数を設定(Set Frozen Rows)

TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()// 先頭 3 行を固定worksheet.setFrozenRows(3)

固定状態を取得(Get Freeze State)

TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()const freezeState = worksheet.getFreeze()

固定列数を取得(Get Frozen Columns)

TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()const frozenColumns = worksheet.getFrozenColumns()

固定行数を取得(Get Frozen Rows)

TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()const frozenRows = worksheet.getFrozenRows()

固定を解除(Cancel Freeze)

TypeScript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()// すべての固定を解除worksheet.cancelFreeze()

このガイドはいかがですか?

© 2026 DreamNum Co., Ltd.