ワークブックを再計算する
再計算はデスクトップアプリではなくバイト列から始まります。
実ワークブックで早めに試す
単一の数式によるテストは、パッケージが正しく読み込めることの確認にしかなりません。実際に使う想定のワークブックで、ファイル構造や数式、ロケールの前提が自分のユースケースに合うかどうかを確認してください。
JavaScript / WASM
ts
import createFormulon from '@libraz/formulon'
const Module = await createFormulon()
const workbook = Module.Workbook.loadBytes(xlsxBytes)
try {
if (!workbook.isValid()) {
throw new Error(Module.lastErrorMessage())
}
workbook.setNumber(0, 3, 1, 125000) // sheet 0, B4
workbook.recalc()
const saved = workbook.save()
if (!saved.status.ok || saved.bytes === null) {
throw new Error(saved.status.message)
}
await upload(saved.bytes)
} finally {
workbook.delete()
}Python
python
from formulon import Workbook
with open("input.xlsx", "rb") as f:
blob = f.read()
with Workbook.load(blob) as wb:
wb.set_number(0, 3, 1, 125000.0)
wb.recalc()
output = wb.save()
with open("output.xlsx", "wb") as f:
f.write(output)CLI
sh
formulon recalc input.xlsx -o output.xlsx
formulon dump --values output.xlsxエンジンはワークブックの構造を保持したまま計算値を更新します。このパスは、サーバー側の検証、ブラウザからのアップロード処理、バッチ変換、既知のワークブックに対する回帰テストに使えます。
このページで往復を試す
下のパネルは、同じ手順をブラウザ内で実行します。ワークブックを選ぶ(またはサンプルを生成する)と、バイト列を loadBytes() で読み込み、再計算し、.xlsx のバイト列として書き出したものをダウンロードできます。パネル内のシートは、その書き出したバイト列を埋め込みの formulon-cell グリッドで開き直したものなので、画面に並ぶ値はファイルに保存されていた値ではなくエンジンが計算した値です。
xlsx を読み込んで再計算する
ファイルはどこにもアップロードされません。読み込み・再計算・書き出しはすべてこのページの WASM エンジンが行い、バイト列がブラウザの外に出ることはありません。
本物の Formulon エンジン (WASM) がこのページ内で動作します。データは送信されません。