导入依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.4.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
将Map写出到Excel
public class Test {
public static void main(String[] args) {
Map<String, Object> row1 = new LinkedHashMap<>();
row1.put("姓名", "张三");
row1.put("年龄", 23);
row1.put("成绩", 88.32);
row1.put("是否合格", "T");
row1.put("考试日期", DateUtil.date());
Map<String, Object> row2 = new LinkedHashMap<>();
row2.put("姓名", "李四");
row2.put("年龄", 33);
row2.put("成绩", 59.50);
row2.put("是否合格", "F");
row2.put("考试日期", DateUtil.date());
ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row1, row2);
ExcelWriter writer = ExcelUtil.getWriter("d:/writeTest.xlsx");
writer.passCurrentRow();//合并单元格后的标题行,使用默认标题样式
writer.merge(row1.size() - 1, "测试标题");// 一次性写出内容,使用默认样式,强制输出标题
writer.write(rows, true);
writer.close();//关闭writer,释放内存
}
}
效果图如下:
将行列对象写出到Excel
public class Test {
public static void main(String[] args) {
List<String> row1 = CollUtil.newArrayList("aa", "bb", "cc", "dd");
List<String> row2 = CollUtil.newArrayList("aa1", "bb1", "cc1", "dd1");
List<String> row3 = CollUtil.newArrayList("aa2", "bb2", "cc2", "dd2");
List<String> row4 = CollUtil.newArrayList("aa3", "bb3", "cc3", "dd3");
List<String> row5 = CollUtil.newArrayList("aa4", "bb4", "cc4", "dd4");
List<List<String>> rows = CollUtil.newArrayList(row1, row2, row3, row4, row5);
ExcelWriter writer = ExcelUtil.getWriter("d:/writeTest.xlsx");
writer.passCurrentRow();//合并单元格后的标题行,使用默认标题样式
writer.merge(row1.size() - 1, "测试标题");//一次性写出内容,强制输出标题
writer.write(rows, true);
writer.close();//关闭writer,释放内存
}
}
效果图如下: