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