# 틀 고정

- Human documentation: [https://docs.univer.ai/ko-KR/guides/sheets/features/core/freeze](https://docs.univer.ai/ko-KR/guides/sheets/features/core/freeze)

- Agent Markdown: [https://docs.univer.ai/ko-KR/guides/sheets/features/core/freeze.md](https://docs.univer.ai/ko-KR/guides/sheets/features/core/freeze.md)

- Requested language: `ko-KR`

- Content language: `ko-KR`

- Documentation version: `1.0.4`

- Source: [sheets/features/core/freeze.ko-KR.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/sheets/features/core/freeze.ko-KR.mdx)

---

[`IWorksheetData.freeze`](https://docs.univer.ai/ko-KR/guides/sheets/model/workbook-data.md)를 사용하여 워크시트의 틀 고정 상태를 구성할 수 있습니다. 인터페이스 정의는 다음과 같습니다.

```typescript
interface IFreeze {
  /**
   * The number of frozen columns
   */
  xSplit: number
  /**
   * The number of frozen rows
   */
  ySplit: number
  /**
   * The starting row that can be scrolled (the starting row of the main view area)
   */
  startRow: number
  /**
   * The starting column that can be scrolled (the starting column of the main view area)
   */
  startColumn: number
}
```

예를 들어 B열과 2행을 고정하려면 다음과 같이 구성할 수 있습니다.

```json
{
  "xSplit": 1, // Freeze 1 column, which is column B
  "ySplit": 1, // Freeze 1 row, which is row 2
  "startRow": 2, // The starting row that can be scrolled is row 3
  "startColumn": 2 // The starting column that can be scrolled is column C
}
```



## Facade API

`FWorksheet` 클래스는 워크시트에서 행과 열의 틀 고정 상태를 관리하는 여러 메서드를 제공합니다. 이러한 메서드를 사용하여 고정 창을 설정하고, 가져오고, 해제할 수 있습니다.

### 틀 고정 설정

```typescript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()
worksheet.setFreeze({
  xSplit: 1, // Freeze 1 column, which is column B
  ySplit: 1, // Freeze 1 row, which is row 2
  startRow: 2, // The starting row that can be scrolled is row 3
  startColumn: 2, // The starting column that can be scrolled is column C
})
console.log('The current freeze state:', worksheet.getFreeze())
```

### 고정 열 설정

```typescript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()

// Set freeze for columns A-B
worksheet.setFrozenColumns(2)
```

### 고정 행 설정

```typescript
const worksheet = univerAPI.getActiveWorkbook().getActiveSheet()

// Set freeze for the first 3 rows
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()

// Cancel all freezes
worksheet.cancelFreeze()
```
