テーブル

プラグイン情報

拡張テーブル機能は、Univer Docs に豊富なテーブル編集機能を提供します。セルスタイル、枠線のカスタマイズ、行列の操作、データの入力が可能です。

はじめに

Univer Docs では、拡張テーブルを使用して以下ができます:

  • プログラムでテーブルを挿入:指定したサイズのテーブルを作成します。
  • 構造を操作:行と列の追加、削除、移動を行います。
  • セルをスタイル設定:枠線、背景、テキスト書式を適用します。
  • セルを結合・分割:複雑なレイアウトのためにセルを結合します。

プラグインモード

インストール

Shell
pnpm add @univerjs-pro/docs-table @univerjs-pro/docs-table-ui

使用法

TypeScript
import { UniverDocsTablePlugin } from '@univerjs-pro/docs-table'import { UniverDocsTableUIPlugin } from '@univerjs-pro/docs-table-ui'import DocsTableUIJaJP from '@univerjs-pro/docs-table-ui/locale/ja-JP'import { LocaleType, mergeLocales, Univer } from '@univerjs/core'import '@univerjs-pro/docs-table-ui/lib/index.css'const univer = new Univer({  locale: LocaleType.JA_JP,  locales: {    [LocaleType.JA_JP]: mergeLocales(      DocsTableUIJaJP,     ),  },})univer.registerPlugin(UniverDocsTablePlugin)univer.registerPlugin(UniverDocsTableUIPlugin)

Univer の商用ライセンスをお持ちの場合は、クライアントでのライセンス使用を参照してください。

モバイル対応

まずモバイルエディターを設定します。このページのプラグインモードの初期化コードで、以下のデスクトップ登録を同じパッケージのモバイル版に置き換え、文書を開く前に完了してください。モデル、スタイル、言語ファイル、Facade は維持し、両方を同時に登録しないでください。

パッケージデスクトップの登録モバイルの登録
@univerjs-pro/docs-table-uiUniverDocsTableUIPluginUniverDocsTableMobileUIPlugin

Facade API

API を使用する前に facade をインポートしてください:

TypeScript
import '@univerjs-pro/docs-table/facade'

テーブルを挿入

TypeScript
const doc = univerAPI.getActiveDocument()const table = doc?.insertTable(3, 4, { tableId: 'my-table' })table?.setCellText(0, 0, 'Name')

データからテーブルを挿入

TypeScript
const doc = univerAPI.getActiveDocument()doc?.insertTableFromData([  ['Name', 'Status'],  ['Facade', 'Ready'],], { headerRowCount: 1 })

すべてのテーブルを取得

TypeScript
const doc = univerAPI.getActiveDocument()const tables = doc?.getTables() ?? []

テーブルを削除

TypeScript
const doc = univerAPI.getActiveDocument()doc?.deleteTable('my-table')

表の罫線

表またはセルを選択すると表のコンテキストタブが表示されます。罫線選択にはすべて、外枠、内側、各辺、罫線なしのプリセットがあり、色、太さ、線の種類も変更できます。これらは UniverDocsTableUIPlugin が提供します。

編集、履歴、共同編集

表の Facade による設定と構造編集は文書コマンドを使い、元に戻す・やり直しと共同編集に対応します。setTableStyle() は背景と罫線を一つの履歴にまとめます。setColumnType() も履歴と同期に対応し、列の移動に型が追従します。setCellText() はセル全体を置換し、同時置換は原子的な値の競合規則を使います。通常の文字編集はテキスト OT を使います。ロックされたコンテンツコントロールが拒否したセル編集は false を返し、履歴を消費しません。

表全体の配置

Traditional 文書で表を選択し、Ribbon の「表 → 表の配置」からページの本文領域に対する左寄せ、中央、右寄せを選びます。セル内の文字ではなく、表全体の位置を変更します。Modern 文書ではこの操作は無効です。

値は tableSource[tableId].align に保存され、元に戻す・やり直し・保存に対応します。表プラグインの登録後は、スナップショット内の既存の表 ID を使って公開コマンドを実行できます。無効な対象、無効化された文書、Modern 文書では false を返します。

TypeScript
import { DocsTableSetTableAlignCommand } from '@univerjs-pro/docs-table'import { TableAlignmentType } from '@univerjs/core'const aligned = await univerAPI.executeCommand(DocsTableSetTableAlignCommand.id, {  unitId: documentId,  tableId,  value: TableAlignmentType.CENTER,})

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

© 2026 DreamNum Co., Ltd.