テーブルスタイル
v1.4.0 から、範囲をライブな Excel テーブル(ListObject)に変換し、組み込みの縞模様スタイルを適用できます。スタイルは計算されたオーバーレイであり — テーブルが伸縮すると縞模様の行・列が自動的に再配置され — 個々のセル書式に焼き込まれません。
Note: テーブルの作成とスタイル適用は Pro 機能です。テーブルの読み取り(
getTable・getTables・getTableAt)は Lite でも利用できるため、Pro で作成した — または xlsx からインポートした — テーブルは無償版でも参照できます。
範囲をテーブルとして整形
最も手軽な方法は RangeHandle.formatAsTable です。
import { createReogrid } from '@reogrid/pro'
const grid = createReogrid({ workspace: '#app' })
const ws = grid.worksheet
// A1:D20 — 先頭行がヘッダー
const table = ws.range('A1:D20').formatAsTable({ style: 'TableStyleMedium9' })
console.log(table.name) // 'Table1'
明示的な RangePosition(左上+個数)を指定して addTable を呼ぶこともできます。
const table = ws.addTable(
{ row: 0, col: 0, rows: 20, columns: 4 }, // A1:D20、ヘッダー行を含む
{ name: 'Sales', style: 'TableStyleMedium2', showRowStripes: true },
)
どちらもテーブルを記述する TableDefinition(id・名前・ヘッダーを含む全範囲・導出された列・スタイル情報)を返します。
AddTableOptions
| オプション | 型 | 既定値 | 説明 |
|---|---|---|---|
name | string | 自動(Table1, Table2, …) | ワークブック内で一意の内部名。 |
style | string | 'TableStyleMedium2' | 組み込みの OOXML スタイル名(後述)。 |
headerRowCount | 0 | 1 | 1 | 先頭行をヘッダーにするか。 |
showRowStripes | boolean | スタイル既定 | 行の縞模様。 |
showColumnStripes | boolean | スタイル既定 | 列の縞模様。 |
showFirstColumn | boolean | スタイル既定 | 先頭列を強調。 |
showLastColumn | boolean | スタイル既定 | 末尾列を強調。 |
スタイル名
style は OOXML の組み込みテーブルスタイル名です。ReoGrid は標準パレットの厳選サブセットを同梱しています。
| ファミリー | 名前 |
|---|---|
| Light | TableStyleLight1 … TableStyleLight21 |
| Medium | TableStyleMedium1 … TableStyleMedium28 |
| Dark | TableStyleDark1 … TableStyleDark11 |
名前はフォールバックパレットで描画される場合でもインポート・エクスポートを通じてそのまま保持されるため、ReoGrid で設定したテーブルは Excel でもスタイルの同一性を保ちます。
縞模様は自動で再配置
スタイルは焼き込みではなくオーバーレイのため、テーブルの形が変わるたびに行・列の縞が再計算されます — 途中に行を挿入しても、手動での再スタイルなしに縞が正しいまま保たれます。縞模様はいつでも切り替えられます。
ws.range('A1:D20').formatAsTable({ style: 'TableStyleMedium9', showColumnStripes: true })
テーブルの読み取りと削除(Lite で読み取り可)
ws.getTables() // シート上の TableDefinition[]
ws.getTable('Sales') // 名前で取得
ws.getTableAt(3, 1) // セルを覆うテーブル、または undefined
ws.removeTable('Sales') // テーブルを削除(セルの値は保持)
getTable・getTables・getTableAt は Lite でも動作するため、Pro ライセンスがなくてもテーブルを検出・参照できます。
xlsx への往復
テーブルはスタイル情報と列名とともに xl/tables/tableN.xml にシリアライズされ、Excel でネイティブテーブルとして開けます — また Excel のテーブルは ReoGrid のテーブルとしてインポートされます。ReoGrid JSON でも往復します。