我需要创建一个可以读取 xls 和 xlsx 文件的方法。根据我的研究,HSSF用于读取xls,XSSF用于读取xlsx。我可以使用 Apache POI 的一部分来读取这两个文件吗?我也遇到了 ss.usermodel 但没有找到足够的代码来满足 xls 和 xlsx....
最佳答案
是的,POI 提供了一组适用于这两种类型的新接口(interface)。
使用 WorkbookFactory.create() 方法获取工作簿:http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/WorkbookFactory.html
您可以在不依赖文件扩展名的情况下检查 excel 文件(这是不可靠的 - 例如,许多 csv 文件具有 xls 扩展名,但不能被 POI 解析)使用以下内容:
//simple way to check for both types of excel files
public boolean isExcel(InputStream i) throws IOException{
return (POIFSFileSystem.hasPOIFSHeader(i) || POIXMLDocument.hasOOXMLHeader(i));
}
关于java - 有什么方法可以使用 Apache POI 读取 .xls 和 .xlsx 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19129961/