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

时间:2018-01-01 04:42:09

标签: java apache-poi

找不到这个确切用例的很多例子。基本上我有两个目录,应该包含相同的文件,混合.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文件?

谢谢!

1 个答案:

答案 0 :(得分:4)

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

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