ワークブック操作
Workbook API はセルの mutation と recalc に加えて、構造編集も扱います。WASM binding が最も広い surface を公開し、Python は安定 subset、CLI は recalc と inspection に絞っています。
用語: 0-based 座標
binding は (sheet, row, col) をすべて 0 から始まる整数で扱います。Sheet1!A1 は (0, 0, 0)。ロケール依存のアドレス解析を避け、C ABI と一致させるためです。A1 テキストは CLI 引数・数式文字列のように明示的に要求している箇所だけで使います。
シート
const wb = Module.Workbook.createDefault()
try {
wb.addSheet('Inputs')
wb.renameSheet(0, 'Model')
wb.moveSheet(1, 0)
wb.removeSheet(1)
} finally {
wb.delete()
}Python は安定 subset を公開します。
with Workbook.create_default() as wb:
wb.add_sheet("Inputs")
print(wb.sheet_count())
print(wb.sheet_name(0))セル
種類ごとに値を設定し、再計算します。
wb.setNumber(0, 0, 0, 10)
wb.setBool(0, 0, 1, true)
wb.setText(0, 0, 2, 'sku-001')
wb.setFormula(0, 0, 3, '=SUM(A1:A10)')
wb.setBlank(0, 0, 4)
wb.recalc()計算結果は kind 付きの構造体として読み出します。
const value = wb.getValue(0, 0, 3)
if (value.kind === ValueKind.Number) console.log(value.number)数式の set は評価しない
setFormula() は model を書き換えるだけです。結果は recalc()(または partialRecalc())を呼ぶまで Blank のままになります。編集後に値を読むホストは必ず recalc を挟んでください。
構造編集
行・列の挿入 / 削除は影響を受ける数式を自動で書き換えます。
wb.insertRows(/*sheet*/ 0, /*startRow*/ 5, /*count*/ 2)
wb.deleteCols(/*sheet*/ 0, /*startCol*/ 3, /*count*/ 1)挿入 / 削除範囲とともに移動する参照はシフトされ、範囲外にアンカーされた参照はそのまま残ります。
レイアウト・style・metadata
WASM binding が現状もっとも広い workbook surface を公開します。
- row / column の挿入・削除と formula 書き換え
- defined names
- tables
- OOXML parts の passthrough
- pivot table の layout 投影
- 条件付き書式の read / evaluate / write subset
- sheet view、freeze panes、hidden tabs
- sheet protection の metadata
- row / column layout の override
- styles、number formats、fonts、fills、borders
- merges、comments、hyperlinks、data validations
- precedent / dependent の tracing
- function metadata、function-name ヘルパ
- 動的配列の spill information
Python binding は workbook の construction / loading、cell mutation、recalc / save、iteration helpers に意図的に絞った安定 subset です。より広い workbook 管理 API が現時点で必要であれば、WASM・Native Node・あるいは C ABI を直接使ってください。
実装済み関数を実行時に確認する
WASM Module.functionNames() や MCP の formulon function_lookup は、実行時に登録されている関数を列挙できます。静的なドキュメントを読むより、対象 Excel バージョンに合わせて毎回確認するほうが確実です。
次に読むもの
- 再計算 ─ 編集がいつ値に反映されるか
- Surface matrix ─ 各 binding が公開する surface 比較
- 互換性 / エラー ─ 不正入力時の挙動