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 回答