【发布时间】:2020-02-07 17:16:52
【问题描述】:
我有一个 xlsx 文件,其中包含大约 150 张纸。我只需要提取其中 30 张的文本,我尝试了下面的代码,但这会提取所有工作表的文本。
try (InputStream inp = new FileInputStream(filePath)) {
OPCPackage d=OPCPackage.open(inp);
XSSFWorkbook wb = new XSSFWorkbook(d);
XSSFExcelExtractor extractor = new XSSFExcelExtractor(wb);
extractor.setFormulasNotResults(true);
extractor.setIncludeSheetNames(false);
String text = extractor.getText().replaceAll("\\t"," ").replaceAll("%","");
lines =text.split("\n");
如果有任何可用的方法可以通过提供我要提取数据的工作表名称来提取文本,有人可以帮助我。
【问题讨论】:
-
不要使用提取器。而是使用Getting the cell contents 方法获取所需工作表的单元格内容。或者看看what exactly the extractor is doing。然后编写满足您要求的自己的提取器。
-
谢谢您尝试您提到的第二种方法,这似乎是我的最佳方案。
标签: java excel apache-poi text-extraction