使用JAVA删除excel文件中的所有空行
有人能告诉我如何使用ApachePOI迭代和删除excel文件中的所有空行吗?我正在调用这两个函数,其中包含我希望删除的行索引,但第二个函数(shift)始终为我提供最小行索引0使用JAVA删除excel文件中的所有空行,java,apache,apache-poi,poi-hssf,Java,Apache,Apache Poi,Poi Hssf,有人能告诉我如何使用ApachePOI迭代和删除excel文件中的所有空行吗?我正在调用这两个函数,其中包含我希望删除的行索引,但第二个函数(shift)始终为我提供最小行索引0 public static void removeRow(HSSFSheet sheet, int rowIndex) { HSSFRow removingRow = sheet.getRow(rowIndex); if (removingRow != null) { sheet.remo
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);
}
}
public static void remove OW(HSSF表单,int rowIndex){
HSSFRow removingRow=sheet.getRow(行索引);
如果(removingRow!=null){
表1.removingRow(removingRow);
}
}
公共静态无效移位(HSSF表,int行索引){
int lastRowNum=sheet.getLastRowNum();
如果(rowIndex>=0&&rowIndex
谢谢问题出在excel文件中合并的列中
sheet.removeRow(row)
将删除该行,但会在数据中创建空白(洞)或空行,因此会使其不一致。您可以做的是,删除后,您可以移动行,这意味着使用以下方法将所有剩余行向上移动一步:
int rowToDeleteIndex = // The row number you want to delete
int lastRowIndex = worksheet.getLastRowNum();
worksheet.shiftRows(rowToDeleteIndex + 1, lastIndex, -1);