作成日: 2020/04/13 最終更新日: 2020/05/20
文書種別
不具合
状況
修正済み
詳細
セルに値を設定してからシートを別のブックにコピーし、コピー先のブックを保存すると、IndexOutOfRange例外が発生することがあります。
回避方法
この問題はバージョン3.1.2で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
下記のように、ワークシートをコピーする前にワークブックのCalculateメソッドを実行することで回避できます。
var srcBook = new Workbook();
var srcSheet = srcBook.Worksheets[0];
srcSheet.Range["A1"].Value = "A1";
srcBook.Calculate(); //回避策
var destBook = new Workbook();
var destSheet = destBook.Worksheets[0];
srcSheet.CopyBefore(destSheet);
destBook.Save("Dest.xlsx");
※修正版を適用しない場合の回避方法は以下の通りです。
下記のように、ワークシートをコピーする前にワークブックのCalculateメソッドを実行することで回避できます。
var srcBook = new Workbook();
var srcSheet = srcBook.Worksheets[0];
srcSheet.Range["A1"].Value = "A1";
srcBook.Calculate(); //回避策
var destBook = new Workbook();
var destSheet = destBook.Worksheets[0];
srcSheet.CopyBefore(destSheet);
destBook.Save("Dest.xlsx");
旧文書番号
85471