워크시트 데이터 구조
IWorksheetData
IWorksheetData는 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> | 셀 내용의 행렬입니다. 자세히 알아보기. |
| rowData | IObjectArrayPrimitiveType<Partial<IRowData>> | 행 데이터 객체의 배열입니다. |
| columnData | IObjectArrayPrimitiveType<Partial<IColumnData>> | 열 데이터 객체의 배열입니다. |
| rowHeader | { width: number; hidden?: BooleanNumber; } | 행 머리글 설정입니다. |
| columnHeader | { height: number; hidden?: BooleanNumber; } | 열 머리글 설정입니다. |
| backgroundImage? | IWorksheetBackgroundImage | 선택적 반복 이미지 원본: { source: string; imageSourceType: ImageSourceType }. 배경 이미지 참고. |
| showGridlines | BooleanNumber | 눈금선 표시 여부입니다. |
| rightToLeft | BooleanNumber | 워크시트의 오른쪽에서 왼쪽 모드 사용 여부입니다. |
| defaultStyle? | 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: '', }, ],}이 가이드는 어떠셨나요?