2012-07-12 154 views
0

是否有任何方法可以使用apache poi来读取或写入excel 2003和2007格式。我知道我们可以在2003年使用HSSF工作簿和2007年的XSSF(如果我错了,请纠正我) 。但是有什么方法可以使用任何单个工作簿读取格式,但不能单独使用。使用apache poi处理excel文件

回答

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有关事件的用户模型的详细信息。

希望它有帮助;

0

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

如果您已经有使用HSSF的代码,那么您应该按照HSSF to SS converting guide的要求帮助您将代码更新为两种格式的通用代码。

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

0

使用

WorkbookFactory.create(in); 

基于javadoc的,它

从给定的 InputStream创建适当的HSSFWorkbook/XSSFWorkbook。