Apache POI将txt文件读取为excel文件

问题描述 投票:1回答:1

找不到这个确切用例的很多例子。基本上我有两个目录,应该包含相同的文件,混合.xlsx文件和.txt文件。我编写了一堆代码来比较.xlsx文件,并且还可以返回它找到的任何不匹配的坐标(行,列)。

我的代码似乎与文本文件一样有问题,我可以通过excel手动打开这个,它是一个制表符分隔的文本文件。

当我尝试将其转换为XSSFWorkbook时,它不喜欢,其中File excelFile1是我的文本文件:

FileInputStream controlFile = new FileInputStream(this.excelFile1);
XSSFWorkbook controlWorkBook = new XSSFWorkbook(controlFile);

我得到的例外是:

org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException: No valid entries or contents found, this is not a valid OOXML (Office Open XML) file

我想这是因为它是.txt文件而不是.xlsx文件?没有为文本文件编写单独的逻辑,有没有办法解决这个问题?有没有办法像.xlsx文件一样处理.txt文件?

谢谢!

java apache-poi
1个回答
4
投票

CSV文本文件不是Excel文件,无法使用POI进行操作。

在这些情况下,您必须编写新代码以使用CSV阅读器(例如OpenCSV或Apache Commons CSV),并在内存中实现该文件的模型。

© www.soinside.com 2019 - 2024. All rights reserved.