**模式一:map数据,手动封装ExcelExportEntity集合**
现在要导出格式如下:
![](https://img.kancloud.cn/c4/fa/c4fab7b8db9778df52664f3a60165b70_462x168.png)
---------
数据格式如下:
~~~
List<Map<String,Object>> dataList = new ArrayList<Map<String,Object>>();
Map<String,Object> map1 = new HashMap<>();
map1.put("name","小明");
map1.put("age","21");
map1.put("degree","36");
map1.put("link_name","小八");
map1.put("link_age","33");
dataList.add(map1);
Map<String,Object> map2 = new HashMap<>();
map2.put("name","小王");
map2.put("age","24");
map2.put("degree","37");
map2.put("link_name","小六");
map2.put("link_age","26");
dataList.add(map2);
~~~
配置ExcelExportEntity集合如下:
~~~
List<ExcelExportEntity> entityList = new ArrayList<>();
//一般表头使用这种两个参数的构造器
ExcelExportEntity e1 = new ExcelExportEntity("姓名","name");
ExcelExportEntity e2 = new ExcelExportEntity("年龄","age");
ExcelExportEntity e3 = new ExcelExportEntity("体温","degree");
entityList.add(e1);
entityList.add(e2);
entityList.add(e3);
//需要被设置成子表头的使用这种三个参数的构造器,设置colspan为true
ExcelExportEntity e5 = new ExcelExportEntity("姓名","link_name",true);
ExcelExportEntity e6 = new ExcelExportEntity("年龄","link_age", true);
entityList.add(e5);
entityList.add(e6);
//合并表头也需要设置colspan为true
ExcelExportEntity e4 = new ExcelExportEntity("紧急联系人","linkman",true);
List<String> sub = new ArrayList<>();
sub.add("link_name");
sub.add("link_age");
//还需要设置一个子表头key的集合
e4.setSubColumnList(sub);
entityList.add(e4);
~~~
调用ExcelExportUtil.exportExcel方法生成workbook
~~~
Workbook wb = ExcelExportUtil.exportExcel(new ExportParams(null, "sheetName"),entityList,dataList);
~~~
==================================---===============================
**模式二:实体类,基于注解,添加excel注解groupName属性**
现在要导出格式如下:
![](https://img.kancloud.cn/d9/02/d90211063196ef79ec15eb3b754a91ea_591x220.png)
~~~
public class SysUser {
@Excel(name = "登录账号", width = 15, groupName = "基本信息")
private String username;
@Excel(name = "真实姓名", width = 15, groupName = "基本信息")
private String realname;
@Excel(name = "头像", width = 15)
private String avatar;
@Excel(name = "性别", width = 15)
private String sex;
.....省略后续getset
~~~
数据如下:
~~~
List<SysUser> ls = new ArrayList<SysUser>();
SysUser s1 = new SysUser();
s1.setUsername("zhangsan");
s1.setRealname("张三");
s1.setAvatar("大头贴");
s1.setSex("男");
ls.add(s1);
SysUser s2 = new SysUser();
s2.setUsername("lisi");
s2.setRealname("李四");
s2.setAvatar("短寸头");
s2.setSex("男");
ls.add(s2);
SysUser s3 = new SysUser();
s3.setUsername("wangwu");
s3.setRealname("王舞");
s3.setAvatar("洗剪吹");
s3.setSex("女");
ls.add(s3);
~~~
导出Workbook 方法:
~~~
Workbook wb = ExcelExportUtil.exportExcel(new ExportParams(null, "sheetName"),SysUser.class,ls);
~~~
- 1.前传
- 1.1前言
- 1.2 Autopoi 介绍
- 1.3 使用
- 1.4 测试项目
- 1.5 快速文档
- 1.6 示例
- 1.6.1 单表数据导出多表头示例
- 单表数据多表头导入注意bak
- 1.6.2 单表数据导出多sheet示例
- 1.6.3 excel根据模板导出
- 1.6.4 一对多导出needMerge示例
- 1.6.5 大数据导出示例
- 1.7 导出自定义选择列导出
- 2. Excel 注解版
- 2.0 @excel注解的使用
- 2.1 Excel导入导出
- 2.2 注解
- 2.3 注解导出,导入
- 2.3.1 对象定义
- 2.3.2 集合定义
- 2.3.3 图片的导出
- 2.3.4 Excel导入介绍
- 2.3.5 Excel导入小功能
- 2.3.6 图片的导入
- 2.3.7 Excel多Sheet导出
- 2.4 注解变种-更自由的导出
- 2.5 Map导入,自由发挥
- 2.6 Excel的样式自定义
- 2.7 如何自定义数据处理
- 2.8 Excel导入校验(暂不支持)
- 2.9 Excel 大批量读取
- 2.10 Excel大数据导出
- 2.11 groupname和ExcelEntity的name属性
- 3. Excel 模板版
- 3.1 模板 指令介绍
- 3.2 基本导出
- 3.3 模板当中使用注解
- 3.4 图片导出
- 3.5 横向遍历
- 4. Excel<->Html
- 4.1 Excel 的Html预览
- 4.2 html转Excel更神奇的导出
- 5. Word
- 5.1 word模板导出
- 6. PDF
- 7. Spring MVC
- 7.1 View 介绍
- 7.2 大数据导出View的用法
- 7.3 注解导出View用法
- 7.4 注解变种Map类型的导出View
- 7.5Excel模板导出View
- 7.6 PoiBaseView.render view的补救
- 8.问题归档
- 9.大数据量处理
- 10.autopoi升级4.0版本修改记录