본문으로 건너뛰기

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를 반환합니다. 아래 표나 사이드바에서 객체 타입을 고르십시오.

Generated from the SDK type definitions

Spreadsheet · 객체 타입 6개 · 메서드 156개 · 네임스페이스 Cell. 이 레퍼런스는 SDK 빌드와 함께 생성된 API 문서 아티팩트(sdk-api-doc.html)에서 생성됩니다. 설명은 게시된 편집기 API 주석 그대로입니다. SDK와 Office 버전을 함께 고정하고, 둘 중 하나가 바뀌면 다시 생성하십시오.

객체 타입메서드얻는 방법
Cell.Workbook13app.getDocument() / app.getWorkbook()
Cell.Worksheet30Workbook.getWorksheet()
Cell.Range76Worksheet.getRange(), Worksheet.getSelection(), Worksheet.getUsedRange(), …
Cell.Chart22Workbook.getObjectById(), Worksheet.addChart(), Worksheet.getChart()
Cell.Table9Workbook.getTable(), Worksheet.addTable()
Cell.Filter6Worksheet.getFilter(), Table.getFilter()

상수 멤버는 Cell.* 페이지에 있습니다.