ExcelOutputコンポーネントで書き込んだ値の計算結果を取得すると、計算前の値が取得するのですが?

次のような処理を行った場合、取得されるのは計算前の値となります。この動作は不具合ではなく、Excelファイルの仕様に起因しています。

サンプルのシート

A1 50
B1  50
C1 =A1+B1(100)
  1. 上記シートでA1に100、B1に100の値をExcelOutputまたはExcelSlim(Output)コンポーネントで書き込んで保存する
  2. 直後にExcelInputまたはExcelSlim(Input)コンポーネントでC1の値を取得する
  3. 計算結果の200ではなく更新前の値である100が取得される

Microsoft Excelの仕様では、Excelファイルの中にある計算式の再計算はExcelソフトでファイルが開かれるときに行われ、その後ファイルを保存することにより計算結果が保存されます。そのため、ExcelOutputまたはExcelSlim(Output)コンポーネントで値を書き込んだ直後では、保存されている値(計算前の値)を取得することになります。

このような場合、フローで計算式の再計算を行ってその結果をExcelOutputまたはExcelSlim(Output)コンポーネントで書き込むなどの対応が必要です。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
    キーワード:
  • フローサービス
  • コンポーネント
  • Excel
  • 再計算
  • 計算式
他にご質問がございましたら、リクエストを送信してください

このセクションの記事

他のキーワードで検索する