作成日: 2020/01/20 最終更新日: 2020/05/20
文書種別
不具合
状況
修正済み
詳細
IWorksheet.FreezePanesメソッドで固定化領域を指定し、その範囲に含まれる列や行をIRange.Hiddenプロパティで非表示に設定した場合、生成されたxlsxをExcelで開くと以下のような現象が発生します。
・固定化される位置が非表示の行や列を考慮せず、表示上の列数・行数の位置で固定化される
・スクロール領域上の一部のセルが固定領域上に重なって表示される
・固定化される位置が非表示の行や列を考慮せず、表示上の列数・行数の位置で固定化される
・スクロール領域上の一部のセルが固定領域上に重なって表示される
回避方法
この問題はバージョン3.1.2で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
次のように、Hiddenプロパティを設定してからFreezePanesメソッドを呼び出すようにし、その際に引数として非表示にする列・行を省いた数を指定します。
---------------------------------
//ここでHiddenプロパティの設定前に実行すると本不具合が発生
//worksheet.FreezePanes(3, 3);
worksheet.Range["A:B"].Hidden = true;
worksheet.Range["1:2"].Hidden = true;
//回避策:Hiddenプロパティの設定後に、非表示の行・列の分だけ減らした数を引数に指定
worksheet.FreezePanes(1, 1);
workbook.Save("Test.xlsx");
※修正版を適用しない場合の回避方法は以下の通りです。
次のように、Hiddenプロパティを設定してからFreezePanesメソッドを呼び出すようにし、その際に引数として非表示にする列・行を省いた数を指定します。
---------------------------------
//ここでHiddenプロパティの設定前に実行すると本不具合が発生
//worksheet.FreezePanes(3, 3);
worksheet.Range["A:B"].Hidden = true;
worksheet.Range["1:2"].Hidden = true;
//回避策:Hiddenプロパティの設定後に、非表示の行・列の分だけ減らした数を引数に指定
worksheet.FreezePanes(1, 1);
workbook.Save("Test.xlsx");
旧文書番号
84863