首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Java在excel .xlsx中删除行

用Java在excel .xlsx中删除行
EN

Stack Overflow用户
提问于 2021-05-13 13:56:40
回答 1查看 20关注 0票数 0

我正在尝试使用java在excel表格中删除一行。

但是我的代码没有删除任何东西。

这是我删除最后一行的代码。

代码语言:javascript
运行
复制
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.usermodel.Sheet;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class Main {

    public static void main(String[] args) throws IOException {
        final String filepath = "data-DB.xlsx";
        File workbookFile = new File(filepath);
        FileInputStream in = new FileInputStream(workbookFile);
        Workbook database = WorkbookFactory.create(in);
        Sheet sheet = database.getSheet("Users");
        int lastRow = sheet.getLastRowNum();
        Row row = sheet.getRow(lastRow);
        sheet.removeRow(row);
    }
}

这一行应该得到行

代码语言:javascript
运行
复制
Row row = sheet.getRow(lastRow);

这应该会删除该行。

代码语言:javascript
运行
复制
sheet.removeRow(row);

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-05-13 14:04:15

getLastRowNum的文档中写道:

获取工作表上的最后一行注意: Excel和Apache POI仍可能将之前具有内容且后来设置为空的行计算为行,因此此方法的结果将包括此类行,因此返回值可能高于预期!

所以很可能你会得到一个已经为空的行号,并且你正在尝试删除它,你会看到removeRow不工作。打印或调试lastRow的值以修复错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67514531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档