Java快速导出数据(List)到CSV文件

简介: Java快速导出数据(List)到CSV文件

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();
        }
    }
}


结果如下


结语


🔥一个人可以掌握知识,但只有与他人交流才能形成智慧。

🔥One person can acquire knowledge, but wisdom is formed only in the exchange with others.

🏆 我坚信人与人之间的差距是表面上是财富的差距,本质上是大脑中认知的差距,

我们下期再见。

相关文章
|
1月前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
31 1
|
1月前
|
Java
java中替换文件内容
java中替换文件内容
14 1
|
30天前
|
Java
java8中List对象转另一个List对象
java8中List对象转另一个List对象
39 0
|
1月前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
24 1
|
7天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
36 3
|
1月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1
|
2天前
|
存储 前端开发 Java
Java实现文件分片上传
Java实现文件分片上传
6 0
|
3天前
|
存储 Java
Java中利用BitMap位图实现海量级数据去重
Java中利用BitMap位图实现海量级数据去重
|
9天前
|
数据库
开发指南009-从list导出excel文件
从数据库返回一般是对象的列表,平台底层提供了从list转为excel文件的方法
|
12天前
|
索引 容器
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数