hutool工具将List<Map<String, Object>>写入csv
时间: 2023-12-17 10:27:17 浏览: 207
可以使用Hutool工具中的CsvUtil类将List<Map<String, Object>>写入csv文件。具体步骤如下:
1.引入Hutool工具包。
2.创建List<Map<String, Object>>类型的数据。
3.使用CsvUtil.getWriter()方法获取CsvWriter对象。
4.使用CsvWriter对象的writeHeader()方法写入表头。
5.使用CsvWriter对象的write()方法写入数据。
6.使用CsvWriter对象的close()方法关闭流。
示例代码如下:
```java
// 引入Hutool工具包
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ObjectUtil;import cn.hutool.core.util.StrUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import cn.hutool.core.text.csv.CsvUtil;
import cn.hutool.core.text.csv.CsvWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
// 创建List<Map<String, Object>>类型的数据
List<Map<String, Object>> dataList = new ArrayList<>();
Map<String, Object> data1 = new HashMap<>();
data1.put("name", "张三");
data1.put("age", 18);
data1.put("gender", "男");
Map<String, Object> data2 = new HashMap<>();
data2.put("name", "李四");
data2.put("age", 20);
data2.put("gender", "女");
dataList.add(data1);
dataList.add(data2);
// 使用CsvUtil.getWriter()方法获取CsvWriter对象
CsvWriter writer = CsvUtil.getWriter("test.csv", StrUtil.CHARSET_UTF_8);
// 使用CsvWriter对象的writeHeader()方法写入表头
List<String> headerList = new ArrayList<>();
headerList.add("姓名");
headerList.add("年龄");
headerList.add("性别");
writer.writeHeader(headerList.toArray(new String[0]));
// 使用CsvWriter对象的write()方法写入数据
for (Map<String, Object> data : dataList) {
List<Object> rowList = new ArrayList<>();
rowList.add(ObjectUtil.isNull(data.get("name")) ? "" : data.get("name"));
rowList.add(ObjectUtil.isNull(data.get("age")) ? "" : data.get("age"));
rowList.add(ObjectUtil.isNull(data.get("gender")) ? "" : data.get("gender"));
writer.write(rowList.toArray(new Object[0]));
}
// 使用CsvWriter对象的close()方法关闭流
writer.close();
}
}
```
阅读全文