Spreadsheet API
Spreadsheet 문서를 연 iframe에는 Office.cell(iframe)을 사용합니다. module 식별자는 cell이고 제품명은 Spreadsheet입니다.
먼저 Editor SDK 빠른 시작의 배포 파일·import map·HTTP 서버 설정을 완료하고,
이 문서 종류를 office-frame iframe에 엽니다. 아래 JavaScript 블록은 같은 모듈 스크립트에서 순서대로
사용합니다. 쓰기 예제는 문서를 변경하므로 샘플이나 복사본에서 실행합니다.
객체 모델
루트 핸들은 Cell.Workbook입니다. 현재 카탈로그의 객체 타입: Worksheet, Range, Chart, Table, Filter.
시트, 표, 차트
이 예제는 첫 번째 시트의 A21:B23을 덮어쓰고 표를 만듭니다. 기존 데이터가 없는 범위를 사용하고,
같은 범위에 표를 반복 생성하지 않습니다. 이름으로 시트를 선택하려면 getSheetList()의 실제 이름을 사용합니다.
import { Office } from "@thinkfree.dev/tfo-sdk";
const iframe = document.querySelector("#office-frame");
const cell = Office.cell(iframe);
await cell.whenReady();
const wb = cell.getWorkbook();
console.log(await wb.getSheetList()); // [{ name, active }, …]
const ws = await wb.getWorksheet(0); // one round trip; the sheet is resolved here
await ws.getRange("A21:B23").setValues([["Name", "Value"], ["a", 1], ["b", 2]]);
await ws.addTable("A21:B23", true); // header row = true
const info = await ws.getSheetInfo(); // usedRange and selection as A1 strings
오류
시트나 경로의 대상이 없으면 그것을 확정하는 호출이 SDKError로 거부되고 error.data에 구조화된 응답이 실립니다. 메시지를 파싱하지 말고
코드로 분기하십시오.
import { SDKError } from "@thinkfree.dev/tfo-sdk";
try {
const ws = await wb.getWorksheet("Nope"); // rejects here for an unknown sheet
await ws.getRange("A1").getValues();
} catch (error) {
if (error instanceof SDKError && error.data?.success === false) {
console.warn(error.data.error.code); // e.g. "SHEET_NOT_FOUND"
}
}
전체 오류 표는 문서 도구 및 오류를 참고하십시오.
API 레퍼런스
현재 SDK 빌드의 Spreadsheet 핸들에서 사용할 수 있는 객체 타입마다 레퍼런스 페이지가 하나씩 있습니다. SDK 타입 정의에서
생성되며, 메서드 요약 표 다음에 메서드별 TypeScript 시그니처, 매개변수, 반환값이 이어집니다. 네비게이션 메서드(getRange,
getChart, getFilter, getTable, getObjectById, getDefinedName)는 하위 핸들을 동기 반환하고, 그 외 모든
메서드는 Promise를 반환합니다. 아래 표나 사이드바에서 객체 타입을 고르십시오.
Spreadsheet · 객체 타입 6개 · 메서드 156개 · 네임스페이스 Cell. 이 레퍼런스는 SDK 빌드와 함께 생성된 API 문서 아티팩트(sdk-api-doc.html)에서 생성됩니다. 설명은 게시된 편집기 API 주석 그대로입니다. SDK와 Office 버전을 함께 고정하고, 둘 중 하나가 바뀌면 다시 생성하십시오.
| 객체 타입 | 메서드 | 얻는 방법 |
|---|---|---|
Cell.Workbook | 13 | app.getDocument() / app.getWorkbook() |
Cell.Worksheet | 30 | Workbook.getWorksheet() |
Cell.Range | 76 | Worksheet.getRange(), Worksheet.getSelection(), Worksheet.getUsedRange(), … |
Cell.Chart | 22 | Workbook.getObjectById(), Worksheet.addChart(), Worksheet.getChart() |
Cell.Table | 9 | Workbook.getTable(), Worksheet.addTable() |
Cell.Filter | 6 | Worksheet.getFilter(), Table.getFilter() |
상수 멤버는 Cell.* 페이지에 있습니다.