当前位置: 首页 > 知识库问答 >
问题:

Apache POI HSSF/XSSF到XLS/XLSX的映射

宗政霄
2023-03-14

这里是ApachePOI4.x。我看到有两种类型的工作簿实现:

  • HSSF工作手册

我需要编写一个Java 8应用程序,它可以读取带有“.xls”(xls)或“.xlsx”(xlsx)扩展名的Excel表格。也就是说,Excel文件是以“旧”(2003年以前)格式保存的,还是更新的格式保存的。

假设我对XLS文件使用HSSF,对XLSX文件使用XSSF,安全吗?或者映射逻辑在这里稍微复杂一点?这个答案似乎表明我是正确的,但这并没有让我完全确信我理解HSSF与XSSF的映射和“何时使用”逻辑。

我浏览了POI文档,但找不到关于我一生的明确答案。

共有1个答案

华星剑
2023-03-14

HSSF(org.apache.poi.HSSF.usermodelpackage)用于XLS文件格式

XSSF(org.apache.poi.XSSF.usermodelpackage)用于XLSX文件格式(较新的)

来自两个包(xssf和hssf)的模型类实现了来自org.apache.poi.ss.usermodel包的公共接口。因此,您可以使用ss包编写代码,它将在xssf或hssf上处理抽象。

 类似资料:
  • 我正在使用apache poi,我读取一些xlsx文件,对其进行处理,然后将其导出为xlsx格式。但现在我要求导出格式为XLS(这是为了支持旧设备)。有没有一种简单的方法可以将代码生成的xlsx文件转换为xls? 所有流程都是用XSSF实现的。 提前谢谢。

  • 问题内容: 我在JasperReports 4.1.1中找不到如何在.xlsx中导出文件。班上: 没有Xlsx等效项。而且我找不到参数来设置从xls到xlsx的输出格式。 问题答案: 该 JRXlsxExporter 类应该用于在出口 XLSX 格式。 在JasperReports 5.5.2之前的版本中使用导出器的示例 直到 JasperReports 5.5.1, 此代码可用于以 xlsx 格

  • 我们正在尝试将POI 3.8用于应用程序中的excel组件,该组件必须处理大型excel文件的创建。我很高兴使用SXSSF流媒体方法,它速度快,内存占用少。然而,我无法进行数据验证,必须使用XSSF。 在XSSF中,当我尝试打开xlsx文件(大约5 MB)时,内存会急剧增加,并且大部分会导致OutOfMemory。我的问题是, > 是否可以使用SXSSF进行数据验证(如从下拉列表中选择)。这将是我

  • 在这件事上有困难。。。 使用XLS,一切都能100%正常工作(我在我的ASP.NET应用程序上使用NPOI): 需求发生了变化,新的Excel模板使用了XLSX的功能,因此它现在是<代码>模板。xlsx。我一直在使用NPOI 2.0,我看到它支持XLSX(使用XSSF而不是HSSF)。我这样更改了代码(这里只显示了差异-其他内容都是一样的): 在工作簿的第行抛出异常。写入(ms) : 我可能做错了

  • 我想用Apache POI打开我的excel文件。 这样我就可以打开xlsx文件: 如果我不知道格式,如何打开这两种类型的文件?

  • 我正在使用ApachePOI,我创建了一个XSSF工作簿,并尝试打开一个xlsx文件。它在当地的一个地方很有效。但是,当我用Excel打开真正服务器(AWS EC2、Tomcat8、JDK 1.8)上的Excel文件时,它显示文件已损坏(.xls工作)。这是我的代码: 本地Spring4, jdk1.8, tomcat 8.0, maven 真正的AWS EC2亚马逊linux2,jdk1。8、t