OpenFormula
OpenDocument 1.0が制定された当時の背景には、どのオフィススイートのユーザーであっても、互換性の問題なく文書ファイルを相互にやり取りすることへの要求があったが、表計算ソフトにおける数式の記述に関しても同様の要求がある。SUM関数のようなごく一般的な数式を除いては、各アプリケーションにより規定されている数式は異なっており、あるアプリケーションで作成されたスプレッドシートを別のアプリケーションで読み込むことは(出来なくないにせよ)、特殊な対応を行うことではじめて可能であった。そうした障害を避けるために構想されたのがOpenFormulaである。
OpenDocumentでは数式を扱う際に、MathMLを利用しており、また、スプレッドシート上のデータ、フォーマット、テーブル等、表計算ソフト上で一般的に利用される情報をやり取りすることも可能である。OpenDocumentでは関数のような(スプレッドシートで計算された)数式は、table:formulaという形式を用いて表示される。
例えばODSファイルに含まれるcontent.xmlは、SUM関数を用いて計算した場合、office:body以下では次のようになる。
しかし、この table:formula の構文や意味論は十分に定義されていないとする声もある。OpenDocument 1.0においてスプレッドシートの数式は、例えば値域やSUM関数を指定する方法を表示するような、ごく単純な例のセットによってしか定義されておらず、それらの例について、構文や意味論を含めた上で、より詳細で正確な仕様が求められていると批判された。