使用apache poi使用excel文件

时间:2012-07-12 05:40:17

标签: excel apache-poi

有没有办法使用apache poi读取或写入excel 2003和2007格式。我知道我们可以使用2003格式的HSSF工作簿和2007年的XSSF(如果错了,请纠正我)。但有没有办法使用任何单个工作簿读取这两种格式,但不单独使用。

3 个答案:

答案 0 :(得分:0)

试试Workbook wb = WorkbookFactory.create(OPCPackage pkg);。 它应该工作。但是,如果XSSF太大,您将获得OutOfMemoryException,因此您应该使用事件用户模型来读取您的文件。在这种情况下,您应该阅读您的路径并检查文件的扩展名,如下所示:

private boolean isXLS(String inputPath) {
    String tmp = inputPath.substring(inputPath.length() - 3,
            inputPath.length());
    if (tmp.equalsIgnoreCase("XLS"))
        return true;
    else
        return false;
}

阅读How-to以获取有关事件用户模型的更多信息。

希望它有用;

答案 1 :(得分:0)

是的,你可以做到。事实上,它在Apache POI网站上有相当广泛的文档记录!

如果您已经有使用HSSF的代码,那么您应该按照HSSF to SS converting guide获取有关更新代码的帮助,以便在两种格式中保持通用。

如果您还没有任何代码,请按照User API guide开始使用 - 这两种格式的所有代码都是通用的。您还可以查看Quick Guide的某些特定问题以及如何以一般方式解决这些问题。

答案 2 :(得分:0)

使用

WorkbookFactory.create(in);

基于javadoc,它

  

根据给定的内容创建相应的HSSFWorkbook / XSSFWorkbook   的InputStream。