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

Java Apache POI将txt文件读取为excel文件,java,apache-poi,Java,Apache Poi,找不到很多这个确切用例的例子。基本上我有两个目录,应该包含相同的文件,混合了.xlsx文件和.txt文件。我编写了一系列代码,可以很好地比较.xlsx文件,还可以返回它发现的任何不匹配的行、列的坐标 我的代码似乎有一个问题,做同样的文本文件,我可以通过excel手动打开这个罚款,这是一个制表符分隔的文本文件 当我尝试将其转换为XSSFWorkbook时,它不喜欢,其中文件excelFile1是我的文本文件: FileInputStream controlFile = new FileInputS

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

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

当我尝试将其转换为XSSFWorkbook时,它不喜欢,其中文件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文件


谢谢

CSV文本文件不是Excel文件,不能使用POI进行操作


您必须编写新代码,以便在这些情况下使用诸如OpenCSV或Apache Commons CSV之类的CSV读取器,并在内存中实现文件模型。

CSV文本文件不是Excel文件,不能使用POI进行操作


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

制表符分隔文本文件相同问题?是。POI.tab分隔文本文件无法处理任何形式的分隔文本同一问题?是。POI无法处理任何形式的分隔文本。