POI を使用して既存の Excel シートを操作しています。
最初の行を削除し、最後に行を追加したい。行を削除すると、その後のすべての行が上に移動します。
int numOfRows = sheet.getLastRowNum()+1;
int extraRows = numOfRows - maxAllowedRows;
for(int i=1;i<=extraRows;i++){ //i intialized with 1 to ignore header row.
sheet.removeRow(sheet.getRow(i));
}
sheet.shiftRows(extraRows+1,sheet.getLastRowNum(),-extraRows);
プログラムの現在の実行では、正常に動作します。しかし、プログラムを再度実行すると、最初の実行で削除されシフトされた行と同数の空白行が下部のシートに表示され、シートの下部に追加しようとする新しい行はこれらの空白の後に追加されます行。
削除およびシフト操作後に空白行が表示されないようにする方法はありますか (つまり、実際に行を削除する方法はありますか? )