Univer Docs API

Univer Docs は Microsoft Word に近い概念で、プロフェッショナルな文書組版機能を提供します。

インポート

TypeScript
import '@univerjs/docs/facade'import '@univerjs/docs-ui/facade'

ドキュメント操作

ドキュメントユニットでは、unitId はドキュメントの一意識別子に対応し、ドキュメントには subUnitId はありません。

ドキュメントの本文は body.dataStream 文字列に保存され、ここにはスタイル情報は含まれません。

スタイル情報は別のデータ構造に保持され、インデックス参照で本文と関連付けられます。

改行、改ページ、セクション、段落、表などの要素は、本文内の特殊文字で表現され、レンダリング時に対応する要素へ変換されます。

ドキュメントデータ構造の設計について詳しく知りたい場合は、Univer Document Architecture and Module Design と An Initial Exploration of Univer Document Typesetting Design を参照してください。

ドキュメントの作成

univerAPI.createDocument(data) で新しいドキュメントを作成し、対応する FDocument facade ラッパーを取得します。

引数は初期データを含む任意のドキュメントデータオブジェクトで、{} を渡すと空のドキュメントを作成します。

Facade API ではなく低レベルの univer インスタンスを直接使う場合は、univer.createUnit(UniverInstanceType.UNIVER_DOC, data) を使用します。

TypeScript
const doc = univerAPI.createDocument(data)

ドキュメントの unitId を取得

TypeScript
const doc = univerAPI.getActiveDocument()const unitId = doc?.getId()

ドキュメントデータを取得

TypeScript
const doc = univerAPI.getActiveDocument()const saveData = doc.save()

ドキュメントを破棄

不要になったら Univer インスタンスの dispose を呼び出して破棄します。

TypeScript
univer.dispose()

テキスト操作

リッチテキスト領域のテキスト要素を編集します。

テキストを挿入

末尾に指定したテキストを追加します。

TypeScript
const doc = univerAPI.getActiveDocument()doc?.insertText(0, 'Univer')

テキストを削除

ドキュメントのオフセット範囲でテキストを削除します。

TypeScript
const doc = univerAPI.getActiveDocument()doc?.deleteRange({ startOffset: 0, endOffset: 1 })

スタイルの変更

段落内のテキストスタイルを設定します。

TypeScript
const doc = univerAPI.getActiveDocument()const paragraph = doc?.getParagraphs()[0]paragraph?.setStyle({  textStyle: {    cl: {      rgb: '#FF0000',    },  },})

改ページの挿入

\f 文字は改ページで、ドキュメントに改ページを挿入できます。

TypeScript
const doc = univerAPI.getActiveDocument()doc?.insertText(0, '\f')

ドキュメント統計

基盤の DocumentDataModel を使って、ドキュメント全体または選択範囲の統計を計算できます。

TypeScript
const doc = univerAPI.getActiveDocument()if (!doc) throw new Error('No active document')const statistics = await doc.getDocumentDataModel().getStatistics({  locale: univerAPI.Enum.LocaleType.JA_JP,})console.log(statistics.words, statistics.charactersWithSpaces, statistics.paragraphs)

getStatistics() は単語数、文字数、段落数を返します。ranges で選択範囲だけを集計し、signal で不要になった計算を中止できます。

このガイドはいかがですか?

© 2026 DreamNum Co., Ltd.