Java快速导出数据(List)到CSV文件,实际上是使用apache一个库,这个库提供了一组Java类来处理CSV(Comma Separated Value)格式的数据,包括读取、解析和写入CSV文件等操作。CSV是一种常见的数据交换格式,特别适合用于表格和电子表格应用程序中存储和传输数据。
一,添加Maven依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.8</version>
</dependency>
二,代码实现
user类
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class user {
private String id;
private String name;
private String age;
}
生成csv
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
public class test {
public static void main(String[] a ) {
List<user> userArrayList = new ArrayList<>();
user user = new user();
user.setId("1");
user.setName("zhangsan");
user.setAge("18");
for (int i = 0; i < 10; i++) {
userArrayList.add(user);
}
try {
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream("D:/user.csv"), StandardCharsets.UTF_8));
CSVFormat csvFormat = CSVFormat.EXCEL.withHeader("人员ID","人员姓名","年龄");
CSVPrinter printer = csvFormat.print(writer);
for (int i = 0; i < userArrayList.size(); i++) {
user user1 = userArrayList.get(i);
printer.printRecord(user1.getId(),user1.getName(),user1.getAge());
}
printer.flush();
printer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
结果如下