gpt4 book ai didi

java - 使用 Apache POI HSSF 从 Excel 工作表中删除一行

转载 作者:IT老高 更新时间:2023-10-28 21:14:49 25 4
gpt4 key购买 nike

我正在使用 Apache POi HSSF 库将信息导入我的应用程序。问题是文件有一些额外/空行需要在解析之前先删除。

没有 HSSFSheet.removeRow(int rowNum) 方法。仅 removeRow(HSSFRow row)。问题在于无法删除空行。例如:

sheet.removeRow( sheet.getRow(rowNum) );

在空行上给出 NullPointerException,因为 getRow() 返回 null。另外,正如我在论坛上看到的那样,removeRow() 只会删除单元格内容,但该行仍然是空行。

有没有一种方法可以在不创建没有我要删除的行的全新工作表的情况下删除行(是否为空)?

最佳答案

 /**
* Remove a row by its index
* @param sheet a Excel sheet
* @param rowIndex a 0 based index of removing row
*/
public static void removeRow(HSSFSheet sheet, int rowIndex) {
int lastRowNum=sheet.getLastRowNum();
if(rowIndex>=0&&rowIndex<lastRowNum){
sheet.shiftRows(rowIndex+1,lastRowNum, -1);
}
if(rowIndex==lastRowNum){
HSSFRow removingRow=sheet.getRow(rowIndex);
if(removingRow!=null){
sheet.removeRow(removingRow);
}
}
}

关于java - 使用 Apache POI HSSF 从 Excel 工作表中删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1834971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com