# 워크시트 데이터 구조

- Human documentation: [https://docs.univer.ai/ko-KR/guides/sheets/model/worksheet-data](https://docs.univer.ai/ko-KR/guides/sheets/model/worksheet-data)

- Agent Markdown: [https://docs.univer.ai/ko-KR/guides/sheets/model/worksheet-data.md](https://docs.univer.ai/ko-KR/guides/sheets/model/worksheet-data.md)

- Requested language: `ko-KR`

- Content language: `ko-KR`

- Documentation version: `1.0.4`

- Source: [sheets/model/worksheet-data.ko-KR.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/sheets/model/worksheet-data.ko-KR.mdx)

---

## IWorksheetData

[`IWorksheetData`](https://docs.univer.ai/ko-KR/reference/types/worksheet-data.md)는 Univer Sheet에서 워크시트의 스냅샷을 나타냅니다.

### 속성

| 속성                                                          | 타입                                                | 설명                                                                                                                                       |
| ----------------------------------------------------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| id                                                          | `string`                                          | 워크시트의 고유 식별자입니다.                                                                                                                         |
| name                                                        | `string`                                          | 워크시트의 이름입니다.                                                                                                                             |
| tabColor                                                    | `string`                                          | 워크시트 탭의 색상입니다.                                                                                                                           |
| hidden                                                      | `BooleanNumber`                                   | 시트의 숨김 여부입니다. 기본값: `BooleanNumber.FALSE`.                                                                                                |
| freeze                                                      | `IFreeze`                                         | 틀 고정 설정입니다.                                                                                                                              |
| rowCount                                                    | `number`                                          | 전체 행 수입니다.                                                                                                                               |
| columnCount                                                 | `number`                                          | 전체 열 수입니다.                                                                                                                               |
| defaultColumnWidth                                          | `number`                                          | 열의 기본 너비이며, 단위는 `px`입니다.                                                                                                                 |
| defaultRowHeight                                            | `number`                                          | 행의 기본 높이이며, 단위는 `px`입니다.                                                                                                                 |
| mergeData                                                   | `IRange[]`                                        | 병합된 셀 범위의 배열입니다.                                                                                                                         |
| cellData                                                    | `IObjectMatrixPrimitiveType<ICellData>`           | 셀 내용의 행렬입니다. [자세히 알아보기.](https://docs.univer.ai/ko-KR/guides/sheets/model/cell-data.md)                                                                                 |
| rowData                                                     | `IObjectArrayPrimitiveType<Partial<IRowData>>`    | 행 데이터 객체의 배열입니다.                                                                                                                         |
| columnData                                                  | `IObjectArrayPrimitiveType<Partial<IColumnData>>` | 열 데이터 객체의 배열입니다.                                                                                                                         |
| rowHeader                                                   | `{ width: number; hidden?: BooleanNumber; }`      | 행 머리글 설정입니다.                                                                                                                             |
| columnHeader                                                | `{ height: number; hidden?: BooleanNumber; }`     | 열 머리글 설정입니다.                                                                                                                             |
| backgroundImage?                                            | `IWorksheetBackgroundImage`                       | 선택적 반복 이미지 원본: `{ source: string; imageSourceType: ImageSourceType }`. [배경 이미지](https://docs.univer.ai/ko-KR/guides/sheets/features/images.md#worksheet-background) 참고. |
| showGridlines                                               | `BooleanNumber`                                   | 눈금선 표시 여부입니다.                                                                                                                            |
| rightToLeft                                                 | `BooleanNumber`                                   | 워크시트의 오른쪽에서 왼쪽 모드 사용 여부입니다.                                                                                                              |
| [defaultStyle](https://docs.univer.ai/ko-KR/guides/sheets/features/core/default-style.md)? | `Nullable<IStyleData>`                            | 워크시트의 기본 스타일입니다.                                                                                                                         |

### 예시

```typescript
const worksheetData: IWorksheetData = {
  id: 'sheet1',
  name: 'Sheet 1',
  tabColor: '#FF0000',
  hidden: BooleanNumber.FALSE,
  freeze: { xSplit: 1, ySplit: 1, startRow: 1, startColumn: 1 },
  rowCount: 1000,
  columnCount: 26,
  defaultColumnWidth: 100,
  defaultRowHeight: 25,
  mergeData: [],
  cellData: {
    0: {
      0: {
        v: 123,
      },
    },
  },
  rowData: [],
  columnData: [],
  rowHeader: { width: 40 },
  columnHeader: { height: 20 },
  showGridlines: BooleanNumber.TRUE,
  rightToLeft: BooleanNumber.FALSE,
}
```

이 구조는 레이아웃, 콘텐츠, 표시 설정을 포함한 워크시트 데이터를 포괄적으로 나타냅니다.

## 전체 예시

```typescript
const workbook: IWorkbookData = {
  id: 'gyI0JO',
  sheetOrder: [
    'RSfWjJFv4opmE1JaiRj80',
  ],
  name: '',
  appVersion: '0.10.2',
  locale: 'enUS',
  styles: {},
  sheets: {
    RSfWjJFv4opmE1JaiRj80: {
      id: 'RSfWjJFv4opmE1JaiRj80',
      name: 'Test',
      tabColor: '',
      hidden: 0,
      rowCount: 30,
      columnCount: 10,
      zoomRatio: 1,
      freeze: {
        startRow: -1,
        startColumn: -1,
        ySplit: 0,
        xSplit: 0,
      },
      scrollTop: 0,
      scrollLeft: 0,
      defaultColumnWidth: 73,
      defaultRowHeight: 23,
      mergeData: [],
      cellData: {},
      rowData: {},
      columnData: {
        0: {
          w: 125,
          hd: 0,
        },
        1: {
          w: 125,
          hd: 0,
        },
        2: {
          w: 125,
          hd: 0,
        },
        3: {
          w: 125,
          hd: 0,
        },
        4: {
          w: 125,
          hd: 0,
        },
        5: {
          w: 125,
          hd: 0,
        },
        6: {
          w: 125,
          hd: 0,
        },
        7: {
          w: 125,
          hd: 0,
        },
        8: {
          w: 125,
          hd: 0,
        },
        9: {
          w: 125,
          hd: 0,
        },
      },
      showGridlines: 1,
      rowHeader: {
        width: 46,
        hidden: 0,
      },
      columnHeader: {
        height: 20,
        hidden: 0,
      },
      rightToLeft: 0,
    },
  },
  resources: [
    {
      name: 'SHEET_DEFINED_NAME_PLUGIN',
      data: '',
    },
  ],
}
```
