使用Apache POI导入CSV数据

如何使用Apache POI有效导入CSV数据? 如果我有一个非常大的CSV文件,我想在我的Excel电子表格中存储,那么我不认为逐个单元格是导入的最佳方法…?

Apache POI从来没有被devise为调用CSV文件。 虽然可以在Excel中打开CSV文件,但Excel有自己的读取器,可以自动导入。 这是假设您的CSV具有.csv而不是.txt后缀。 如果它有.txt后缀,请将其保存为.csv。 所有你需要做的就是右键单击CSV并用Excel打开。 Presto,CSV已导入到Excel中。

我假设你想要将数据从txt文件parsing到Excel文件中。 如果是这样的话,我会build议你使用一个库利用SuperCSV,而不是试图让POI做一些它从来没有devise的事情。 在分析数据的时候,它会把它们全部加载到你select的Bean,Map或者List中,然后你可以将它们以你select的格式写入.csv文件,或者使用JDBC-ODBC Bridge或者Apache POI来写它直接转换成.XLS格式。 添加一个额外的步骤,但是你完全控制了数据。

SuperCSV带有Apache2许可证,所以它应该是任何你select使用它的好。

或者在java中使用.split()函数,将CSVparsing成数组,然后用POI将数组加载到.xls中。

将信息添加到Excel电子表格的最有效方法是使用数组。 此代码:

Sheets(1).Range("A1").Resize(uBound(myArray),uBound(myArray,2)).Value = myArray 

从二维数组中填充表单范围,其中下限为1。

在你的情况下,我会首先将CSV文件读入数组,然后使用类似上面的语法将它放在工作表上。

斯坦·斯科特