忙碌的一天
第一天写博客就让我煞费苦心,从上午完成的第一篇开始,具目前为止已经是下午18:41了;读者可能好奇为什么写这一篇随笔,我只能回答说太无聊了哈哈哈;
其实不然,刚到公司的时候我一个需求写了15天,还是加班加点的努力,并不是说需求有多么的难,而是自己笨,就要花比别人多2倍的时间;在那次之后我慢慢成长(猥琐发育),所以之前写的很多工具我都封装在工具包了。
今天还真忙碌了,上午编写代码进行版本迭代->需求评估开会->编辑随笔,下午编辑随笔(中午也在写,然后忘记吃饭了),一眨眼既然下午15:34了,不得不说,沉浸知识海洋中的时间如梭。本想去楼下麦当劳随笔吃点的;
回头却发现人事姐姐拿着下午茶来到了公司(此时此刻心中可是大喜),立马停下手中键盘,连忙带跑的去挑贵的披萨和水果吃。后来回头想想,原来今天是3-8父母节;该和家里人打通电话了;.
目录
- 导出
动态数据导出
- 导出
对象数据导出
前提
请写好自己的Controller层和Service层->以下代码皆为实现层
一、动态数据导出
简单导出数据
/**
* 简单导出数据
*
* @param response
*/
public void exportSimpleness(HttpServletResponse response) {
// 表头数据
List<Object> head = Arrays.asList("姓名", "年龄", "性别", "头像");
// 用户1数据
List<Object> user1 = new ArrayList<>();
user1.add("孙悟空");
user1.add(99);
user1.add("男");
user1.add("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165");
// 用户2数据
List<Object> user2 = new ArrayList<>();
user2.add("猪八戒");
user2.add(80);
user2.add("女");
user2.add("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg");
// TODO 将数据汇总
List<List<Object>> sheetDataList = new ArrayList<>();
sheetDataList.add(head);// 添加表头
sheetDataList.add(user1);// 添加数据1
sheetDataList.add(user2);// 添加数据2
// 导出数据
ExcelUtils.export(response, "简单导出数据", sheetDataList);
}
导出包含图片的excel数据
/**
* 导出包含图片的excel数据
*
* @param response
*/
public void exportImg(HttpServletResponse response) throws MalformedURLException {
// 表头数据
List<Object> head = Arrays.asList("姓名", "年龄", "性别", "头像");
// 用户1数据
List<Object> user1 = new ArrayList<>();
user1.add("孙悟空");
user1.add(99);
user1.add("男");
// TODO 导出图片->抛出异常0->选择java.net下的URL
user1.add(new URL("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165"));
// 用户2数据
List<Object> user2 = new ArrayList<>();
user2.add("猪八戒");
user2.add(80);
user2.add("女");
user2.add(new URL("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg"));
// 将数据汇总
List<List<Object>> sheetDataList = new ArrayList<>();
sheetDataList.add(head);// 添加表头
sheetDataList.add(user1);// 添加数据1
sheetDataList.add(user2);// 添加数据2
// 导出数据
ExcelUtils.export(response, "导出包含图片的excel数据", sheetDataList);
}
下拉列表
/**
* 下拉列表
*
* @param response
*/
public void exportPullDown(HttpServletResponse response) throws MalformedURLException {
// 表头数据
List<Object> head = Arrays.asList("姓名", "年龄", "性别", "头像 ");
// 用户1数据
List<Object> user1 = new ArrayList<>();
user1.add("孙悟空");
user1.add(99);
user1.add("男");
user1.add(new URL("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165"));
// 用户2数据
List<Object> user2 = new ArrayList<>();
user2.add("猪八戒");
user2.add(80);
user2.add("女");
user2.add(new URL("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg"));
// 将数据汇总
List<List<Object>> sheetDataList = new ArrayList<>();
sheetDataList.add(head);// 添加表头
sheetDataList.add(user1);// 添加数据1
sheetDataList.add(user2);// 添加数据2
// TODO 设置下拉框(K为第几列(从0开始),Y为下拉数据)
Map<Integer, List<String>> selectMap = new HashMap<>(1);
selectMap.put(2, Arrays.asList("男", "女"));
// 导出数据
ExcelUtils.export(response, "下拉列表", sheetDataList, selectMap);
}
横向合并
/**
* 横向合并
*
* @param response
*/
public void exportMerge2(HttpServletResponse response) throws MalformedURLException {
// 表头数据
List<Object> head = Arrays.asList("姓名", "年龄", "性别", "头像 ", ExcelUtils.COLUMN_MERGE);// TODO 合并头像字段
// 用户1数据
List<Object> user1 = new ArrayList<>();
user1.add("孙悟空");
user1.add(99);
user1.add("男");
user1.add(new URL("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165"));
user1.add(new URL("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165"));
// 用户2数据
List<Object> user2 = new ArrayList<>();
user2.add("猪八戒");
user2.add(80);
user2.add("女");
user2.add(new URL("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg"));
user2.add(new URL("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg"));
// 将数据汇总
List<List<Object>> sheetDataList = new ArrayList<>();
sheetDataList.add(head);// 添加表头
sheetDataList.add(user1);// 添加数据1
sheetDataList.add(user2);// 添加数据2
// TODO 设置下拉框(K为第几列(从0开始),Y为下拉数据)
Map<Integer, List<String>> selectMap = new HashMap<>(1);
selectMap.put(2, Arrays.asList("男", "女"));
// 导出数据
ExcelUtils.export(response, "横向合并", sheetDataList, selectMap);
}
纵向合并
/**
* 纵向合并
*
* @param response
*/
public void exportMerge1(HttpServletResponse response) throws MalformedURLException {
// 表头数据
List<Object> head = Arrays.asList("归属地", "姓名", "年龄", "性别", "地址");// TODO 合并头像字段
// 用户1数据
List<Object> user1 = new ArrayList<>();
user1.add("东土大唐");
user1.add("孙悟空");
user1.add(99);
user1.add("男");
user1.add("花果山");
// 用户2数据
List<Object> user2 = new ArrayList<>();
user2.add("东土大唐");
user2.add("猪八戒");
user2.add(80);
user2.add("男");
user2.add("高老庄");
List<Object> user3 = new ArrayList<>();
user3.add("东土大唐");
user3.add("嫦娥");
user3.add(20);
user3.add("女");
// TODO 纵向合并 和猪八戒一个地方
user3.add(ExcelUtils.ROW_MERGE);
List<Object> user4 = new ArrayList<>();
user4.add("东土大唐");
user4.add("沙悟净");
user4.add(78);
user4.add("男");
user4.add("流沙河");
// 将数据汇总
List<List<Object>> sheetDataList = new ArrayList<>();
sheetDataList.add(head);// 添加表头
sheetDataList.add(user1);// 添加数据1
sheetDataList.add(user2);// 添加数据2
sheetDataList.add(user3);// 添加数据3
sheetDataList.add(user4);// 添加数据4
// 设置下拉框(K为第几列(从0开始),Y为下拉数据)
Map<Integer, List<String>> selectMap = new HashMap<>(1);
selectMap.put(2, Arrays.asList("男", "女"));
// 导出数据
ExcelUtils.export(response, "纵向合并", sheetDataList, selectMap);
}