有人可以告诉我如何使用apache poi迭代和删除excel文件中的所有空行吗?我用行索引调用那两个函数我想删除,但第二个(shift)总是给我Minumum行索引是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);
}
}
由于
答案 0 :(得分:0)
问题出在excel文件中合并的列中。
答案 1 :(得分:0)
sheet.removeRow(row)
将删除该行,但会在数据中创建一个空格(空洞)或空行,因此会使其不一致。您可以做的是删除后可以移动行,这意味着使用此步骤将所有剩余的行向上移动:
int rowToDeleteIndex = // The row number you want to delete
int lastRowIndex = worksheet.getLastRowNum();
worksheet.shiftRows(rowToDeleteIndex + 1, lastIndex, -1);