使用 Apache POI 导入 CSV 数据

2022-09-04 02:08:27

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


答案 1

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

我假设您要将数据从txt文件解析为Excel文件。如果是这样的话,我建议你使用像SuperCSV这样的库,而不是试图让POI做一些它从未设计过的事情。它会在解析数据时将其全部加载到您选择的Bean,Map或List中,然后您可以以您选择的格式将其写回文件中,或者使用JDBC-ODBC Bridge或Apache POI将其直接写入并格式化。添加一个额外的步骤,但随后您可以完全控制数据。.csv.XLS

SuperCSV带有Apache2许可证,因此对于您选择使用它执行的任何操作都应该是有益的。

或者只需使用Java中的函数并将CSV解析为数组,然后使用POI将数组加载到数组中。split.xls


答案 2

对 CSV 文件使用 apache commons-csv。使用以下依赖项更新您的 pom.xml

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.5</version>
</dependency>

你可以找到有用的好例子 - 点击这里