0

有人可以告诉我如何使用 apache poi 迭代和删除 excel 文件中的所有空行吗?我用我希望删除的行索引调用这两个函数,但第二个函数(移位)总是给我最小行索引是 0 exceltion。

 public static void removeRow(HSSFSheet sheet, int rowIndex) {

   HSSFRow removingRow = sheet.getRow(rowIndex);
   if (removingRow != null) {
       sheet.removeRow(removingRow);
   }
 }

 public static void shiftRow(HSSFSheet sheet, int rowIndex) {
   int lastRowNum = sheet.getLastRowNum();
   if (rowIndex >= 0 && rowIndex < lastRowNum) {
       sheet.shiftRows(rowIndex+1, rowIndex+1, -1);
   }
 }

谢谢

4

2 回答 2

0

问题出在合并到 excel 文件中的列中。

于 2012-12-19T10:13:11.267 回答
0
sheet.removeRow(row)

将删除该行,但它会在您的数据中创建一个空白(孔)或一个空行,因此会使其不一致。你可以做的是在删除之后你可以移动你的行,这意味着使用这个移动所有剩余的行:

int rowToDeleteIndex = // The row number you want to delete
int lastRowIndex = worksheet.getLastRowNum();
worksheet.shiftRows(rowToDeleteIndex + 1, lastIndex, -1);
于 2017-03-08T09:27:17.917 回答