1

Excel .xlsx ファイルに基づいてレポート/エクスポートを作成するために Rails プロジェクトで使用する ruby​​ クラス/コンポーネントを構築しています。このコンポーネントを使用すると、"テンプレート" .xlsx ファイルを開き、データを行単位でシートに追加し、ファイルを保存して、ユーザーにダウンロードできます。数か月前からうまく機能しています。

ここで、既存の .xlsx ファイル (「フォーム」と考えてください) を取得し、それをテンプレートとして開き、いくつかのセルに値を挿入し、保存してユーザーにダウンロードする必要があります。ほとんどの場合、プロセスは機能します。1 つの問題は、データで更新しているセルの 1 つが、SUM 関数が適用されるセルの範囲内にあることです。問題: SUM セルに正しい合計がありません。

ダウンロード時にExcelと基礎となるxmlの両方でセルをチェックしました-セルとそのデータは数値であり、テキストではありません。シートを手動で再計算しようとすると、灘。SUM を取得している範囲内の他のセルの 1 つを更新すると、魔法のように機能し始めます。SUM セルには適切な合計が表示されます。

今日、スプレッドシートを開いたときに再計算する必要があることを Excel に通知するために、合計フィールドから要素を削除することに言及した投稿を読みました。

これをさらに進めたら、このコンポーネントをオープンソースにしたいと本当に思っています。Ruby コミュニティにとって大きな助けになると思います。助けてくれてありがとう!

4

1 に答える 1

1

fullCalcOnLoad要素の属性calcPrをtrueに設定する必要があるようです:

<workbook> 
  <calcPr fullCalcOnLoad="1"/> 
</workbook>

これにより、ファイルを開いたときに Excel ドキュメントがすべてのワークブック内で計算を実行します。

于 2011-09-17T20:07:59.573 に答える