Skip to content

Formulon が必要な理由 ​

Formulon は、Excel を動かさずに Excel ワークブックを計算したい製品のためのエンジンです。.xlsx と .xlsb を読み込み、数式の評価と再計算、セルや構造の編集を行い、ファイルに書き戻すまでを、すべて自分のプロセスの中で処理します。同じ C++17 エンジンを、ブラウザ、Node、Python、シェル、AI エージェント向けにパッケージ化しています。

利用する製品実行入口コアブラウザアプリファイルは端末内のままサービス / ジョブNode、Python、CIAI エージェントMCP 経由@libraz/formulonWASM・ブラウザと Node@libraz/formulon-nativeNode アドオン・要ビルドformulon(PyPI)Python wheelformulon CLIシェルと CI@libraz/formulon-mcpMCP サーバーformulonExcel と照合している C++17 エンジン利用する製品実行入口コアブラウザアプリファイルは端末内のままサービス / ジョブNode、Python、CIAI エージェントMCP 経由@libraz/formulonWASM・ブラウザと Node@libraz/formulon-nativeNode アドオン・要ビルドformulon(PyPI)Python wheelformulon CLIシェルと CI@libraz/formulon-mcpMCP サーバーformulonExcel と照合している C++17 エンジン
どの実行入口も同じコアを呼ぶので、どこで動かしても同じワークブックは同じ結果になります。

できること ​

  • Excel なしで Excel の結果を得られます。デスクトップアプリ、Microsoft のランタイム、COM 自動化は要りません。Formulon が認識する 526 個の関数名のうち 511 個をローカルで実行します。残る 15 個は Microsoft 365 のサービスに依存するため、固定のエラーを返します。
  • 互換性を自分で確かめられます。計算結果は実際の Excel 365 から取得した値と照合しています。既知の差分は、理由と最後に確認した Excel ビルドとともに tests/divergence.yaml に記録しています。浮動小数点の誤差から和暦まで、具体的なケースを互換性をどこまで詰めているかでその場で照合できます。
  • ロケールごとの Excel の答えに合わせられます。28 個のプロファイルが Mac と Windows の 14 ロケールをカバーし、文字列の比較や数式名のローカライズも含みます。Mac の全プロファイルと win-365-ja_JP は Excel の取得値で実測しています。ほかの Windows プロファイルは現時点では推定値です。新しいワークブックは、別のプロファイルを選ばない限り win-365-en_US で計算します。詳しくはロケールプロファイルを参照してください。
  • ワークブックのデータは手元に残ります。計算は自分のプロセスの中で行い、Formulon がホストするサービスにファイルが渡ることはありません。ブラウザなら、アップロードしたワークブックを端末の外に出す必要もありません。
  • どの実行環境でも同じ値になります。ブラウザ、Python、CLI、Native Node、MCP はコアを共有しているため、ある環境で確かめた結果がほかの環境でもそのまま得られます。
  • ワークブック全体を往復できます。対応するワークブック構造を保ったまま値を再計算するので、数式を評価するだけでなく、読み込み、編集、再計算、保存まで通せます。

ほかの選択肢との違い ​

選択肢向いている場面Formulon の違い
Excel 本体実際のアプリ、VBA、Power Query、外部データ接続、最終的な見た目の確認が必要なときブラウザ、サービス、ジョブの中でヘッドレスに動き、デスクトップアプリを自動操作しない
デスクトップのオフィススイートの一括変換大量のファイルを変換し、そのスイートの計算挙動で問題ないときロケールプロファイルごとに実測した Excel の挙動に合わせる
数式だけを扱うライブラリ数式は評価するが .xlsx を開いたり保存したりしないときワークブック自体を読み込み、編集し、書き出す
クラウドのスプレッドシート APIワークブックがすでにそのホスト型製品の中にあるときローカルで計算し、ファイルをホスト型サービスに送らない

対象にしないこと ​

エンジン自体にはユーザーインターフェイスがなく、グラフも描画しません。ブラウザで表計算 UI が必要なら、エンジンの上に作った formulon-cell が UI を提供し、主なグラフの種類も描画します(ベータ版です)。VBA、Power Query、DAX の実行、外部データの更新、旧形式の .xls の読み込みには対応していません。これらを外しているので、エンジンを小さく保ち、組み込みやすく、テストしやすくできています。

現在の状況 ​

Formulon は 1.0 前で、最初の安定版までに API やパッケージ構成が変わる可能性があります。速度はワークブックの形や数式の組み合わせで変わるため、単一のベンチマーク値は示していません。手元のワークブックで測ってください。業務上重要な用途では、Formulon のバージョンとプロファイルを固定し、代表的なワークブックを検証用に残してください。現時点で最も向いているのは、サーバーのジョブ、CI、社内ツール、組み込み計算で、内容を把握しているワークブックを扱う用途です。

次に読むもの ​

  • 利用例 ─ ブラウザでのアップロード、Node サービス、Python の一括処理、CI の回帰検査、エージェント
  • 数式カバレッジ ─ 実行できる関数と、15 個が実行できない理由
  • FAQ ─ ライセンス、実行環境、安全性についての質問