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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache POI将txt文件读取为excel文件相关的知识,希望对你有一定的参考价值。

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

谢谢!

答案

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

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

以上是关于Apache POI将txt文件读取为excel文件的主要内容,如果未能解决你的问题,请参考以下文章

通过 Apache POI 读取大型 Excel 文件 (xlsx) 时出错

来自TXT的Apache POI Excel副本

Java架构-Apache POI Excel

使用Apache POI 读取Excel文件

Apache POI读取和创建Excel ----01(简单操作)

使用Apache下poi创建和读取excel文件