Apache 构造函数xssf工作簿()的基本用法

Apache 构造函数xssf工作簿()的基本用法,apache,constructor,apache-poi,Apache,Constructor,Apache Poi,我想使我的类能够使用ApachePOI访问excel工作簿并从中获取信息。我正在使用: XSSFWorkbook mybook = new XSSFWorkbook("Filepath"); 但这会抛出“未处理的异常类型ioexception” 我确信这是很明显的,但我不明白为什么这不起作用。构造函数应该是 XSSFWorkbook()符合apachePOI文档的要求。所以我知道我遗漏了一些基本的东西。如果您想读取excel文件,该文件必须存在并且可读。我怀疑您当前的工作目录中是否有一个名为“

我想使我的类能够使用ApachePOI访问excel工作簿并从中获取信息。我正在使用:

XSSFWorkbook mybook = new XSSFWorkbook("Filepath");
但这会抛出“未处理的异常类型ioexception”

我确信这是很明显的,但我不明白为什么这不起作用。构造函数应该是 XSSFWorkbook()符合apachePOI文档的要求。所以我知道我遗漏了一些基本的东西。

如果您想读取excel文件,该文件必须存在并且可读。我怀疑您当前的工作目录中是否有一个名为“Filepath”的excel文件,这就是为什么会出现
IOException

将路径更改为指向真实excel文件的路径

另外,您应该使用新的SS Usermodel,这样您的代码将变成:

Workbook mybook = WorkbookFactory.create(new File("/path/to/file.xlsx"));

如果您正在读取
xlsx
文件

        try {

            Workbook workbook = new XSSFWorkbook(OPCPackage.open(path));
            Worksheet worksheet = workbook.getSheet("Sheet1");

            //rest of your logic

        } catch (Exception ex) {
            ex.printStackTrace();
        }

确保文件路径上的文件存在。

您是否捕获到异常?是的,我后来添加了该异常,但它仍然无法工作。我最终使用了另一种方法,现在可以访问我的工作簿了。这对我来说是糟糕的符号,我试图在这里表示我已经编写了一个现有文件的相对路径。