Apache POI 4.x在这里。我看到Workbook
实现有两种类型:
HSSF工作簿
XSSF工作簿
我需要编写一个Java 8应用程序,以读取扩展名为“ .xls
”(XLS)或“ .xlsx
”(XLSX)的Excel工作表。意思是,以“旧”(2003年前)格式或较新的格式保存的Excel文件。
可以安全地假设我对XLS文件使用HSSF,对XLSX文件使用XSSF吗?还是那里的映射逻辑有点复杂? This answer似乎表明我是正确的,但这并不能使我完全确定我了解HSSF与XSSF的映射以及“何时使用”逻辑。
我已经搜索了POI文档,但是找不到我生命中的明确答案。
最佳答案
HSSF(org.apache.poi.hssf.usermodel
软件包)用于XLS文件格式
XSSF(org.apache.poi.xssf.usermodel
软件包)用于XLSX文件格式(较新的一种)
两个软件包(xssf和hssf)中的模型类都实现了org.apache.poi.ss.usermodel
软件包中的公共接口。因此,您可能可以使用ss
包编写代码,它将与xssf或hssf上的抽象一起使用。