次のような処理を行った場合、取得されるのは計算前の値となります。この動作は不具合ではなく、Excelファイルの仕様に起因しています。
例
サンプルのシート
A1 50
B1 50
C1 =A1+B1(100)
- 上記シートでA1に100、B1に100の値をExcelOutputコンポーネントで書き込んで保存する
- 直後にExcelInputコンポーネントでC1の値を取得する
- 計算結果の200ではなく更新前の値である100が取得される
Microsoft Excelの仕様では、Excelファイルの中にある計算式の再計算はExcelソフトでファイルが開かれるときに行われ、その後ファイルを保存することにより計算結果が保存されます。そのため、ExcelOutputコンポーネントで値を書き込んだ直後では、保存されている値(計算前の値)を取得することになります。
このような場合、フローで計算式の再計算を行ってその結果をExcelOutputコンポーネントで書き込むなどの対応が必要です。
※コンポーネントの名称が、ASTERIA Warp 1812以前のExcelPOIInput / ExcelPOIOutputから、1906以降でExcelInput / ExcelOutputに変更されました。