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上的抽象一起使用。

07-24 21:03