DSによりExcelの列を削除・追加した後、手動でExcelファイルを開く場合エラーが発生します

フォローする

事象

DSによりExcel列の削除・追加処理を実施し、修正後のExcelファイルをローカルに格納して、手動で開く場合エラーが発生します。

エラーメッセージ

〇〇〇.xlsx'の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?ブックの発行元が信頼できる場合は、「はい」をクリックしてください。

原因

製品が利用しているサードパーティーの Apache POI に不具合がある為です

発生条件

下記の条件を満たす場合に発生します。
①操作対象のExcelシート内に、Excel関数、若しくはセル引用を利用しています。
<Excel関数を利用するイメージ>
​​​
<セル引用のイメージ>
​​
​​
②関数(或いはセル引用)に埋め込まれているセルの列番号により前の列に対して、DSで削除・追加の処理を実施し、関数(或いはセル引用)に埋め込まれているセルの列が移動される場合。
上記Excel関数の利用例に関しては、B列を削除することで、SUM関数に埋め込まれている"C"列は"B"列に移動しました。

対処方法

方法1
DSで列の削除・追加により、埋め込まれているセルの列が移動される関数(或いはセル引用)を一時的に削除し、列の削除・追加を実施後、削除した関数(或いはセル引用)を元の状態に戻すことで、本事象を解消することができます。

対策2
列の削除・追加処理に関しては、DSではなく、DAで直接Excelを操作する方法となります。

区分 発生Ver 改修ID 修正Ver
不具合 10.7.0.4、11.1.0.4 1711040