gpt4 book ai didi

java - xls 和 xlsx 文件是否有统一的 ExcelExtractor 类和工厂?

转载 作者:行者123 更新时间:2023-12-01 11:06:45 25 4
gpt4 key购买 nike

是否有 ExcelExtractor 的通用类和实现统一处理从 xls 和 xlsx 源中提取文本的接口(interface)?也许,ss 包中的某些东西。

我正在寻找一些东西,可以让我做类似的事情,但是根据文件类型从工厂获得正确的实现。

现在,我必须显式使用org.apache.poi.hssf.extractor.ExcelExtractor对于 xls 文件,org.apache.poi.xssf.extractor.XSSFExcelExtractor 对于 xlsx。

例如 xls 的显式方法:

InputStream inp = new FileInputStream(path);
HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp));
ExcelExtractor extractor = new ExcelExtractor(wb);

extractor.setFormulasNotResults(true);
extractor.setIncludeSheetNames(false);
String text = extractor.getText();

我可以实现自己的工厂,但在这样做之前,我想问问是否有一种通用方法可以处理这两种格式(这就是 ss 包的用途)。

最佳答案

两个选项

首先,如果您真的想坚持使用旧的 Apache POI 文本提取器,请使用 ExtractorFactory class 。这将识别类型,并为您创建一个提取器

但是,更好的选择 - Apache Tika 。 Tika 构建在 POI(以及许多其他)之上,并为您提供从各种文件格式中提取纯文本(+检测+xhtml +更多!)。您只需调用 Tika,索取短信,然后将其取回,无论类型如何。请参阅Tika examples like this one开始使用

关于java - xls 和 xlsx 文件是否有统一的 ExcelExtractor 类和工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32872711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com