0

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);

プログラムの現在の実行では、正常に動作します。しかし、プログラムを再度実行すると、最初の実行で削除されシフトされた行と同数の空白行が下部のシートに表示され、シートの下部に追加しようとする新しい行はこれらの空白の後に追加されます行。

削除およびシフト操作後に空白行が表示されないようにする方法はありますか (つまり、実際に行を削除する方法はありますか? )

4

2 に答える 2

0

同様の質問はこちら

shiftRows メソッドが (地域? - 申し訳ありませんが、スプレッドシートの用語を忘れてください) を調整したと思いました。

于 2012-07-17T13:56:07.850 に答える
0

私は POI の専門家ではなく、頭痛の種ですが、空の行に新しい行を追加できることを理解しています。空白行の開始位置を追跡する必要がありますが、HSSFSheet.addRow(index) を使用して行を追加します。

于 2012-10-25T16:44:53.690 に答える