私のRailsプロジェクトでExcelの.xlsxファイルに基づいてレポート/エクスポートを作成するためのRubyクラス/コンポーネントをビルドします。コンポーネントでは、「テンプレート」.xlsxファイルを開き、シートに行のデータを追加し、保存してからユーザーにファイルをダウンロードできます。今は数ヶ月間うまく機能しています。OOXML - Rubyで作成されたスプレッドシート(.XLSX)は再計算されません
既存の.xlsxファイル(「フォーム」と考える)をテンプレートとして開き、いくつかのセルに値を挿入し、保存してユーザーにダウンロードする必要があります。ほとんどの場合、プロセスは機能します。 1つのヒッチは、データで更新しているセルの1つが、SUM関数を適用するセルの範囲内にあることです。問題:SUMセルに正しい合計がありません。
私はダウンロード時にExcelでセルをチェックしました。また、その下にあるxml - セルとそのデータは数値です - テキストではありません。手動でナダルを再計算しようとするとき。私はSUMの範囲にある他のセルの1つを更新することができます。そして、それは魔法のように動作し始めます - SUMセルは適切な合計を示します。
スプレッドシートが開かれたときにExcelに通知するために、フィールド全体から要素を削除すると述べた今日の記事を読んでいます。
私はこれをさらに進めると、このコンポーネントをソースとして公開したいと思います。私はそれがRubyコミュニティの大きな助けになると思います。助けをあらかじめありがとう!これは、ファイルを開いたときにExcelドキュメントがすべてのブック内caluclationsを実行するようになります
<workbook>
<calcPr fullCalcOnLoad="1"/>
</workbook>
:あなたがtrueにcalcPr
要素のfullCalcOnLoad
属性を設定する必要がありますように
よろしくお願いします。私のxlsxで、その要素が現在どのようになっているのかは次の通りです: ' ' fullCalcOnLoad属性を追加する必要がありますか? –
wchrisjohnson
@wchrisjohnson - うん、私はその属性を追加し、それが役立つかどうかを確認します。 – amurra