一.导入poi依赖

<!--        poi实现excel导入导出--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.9</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>3.9</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.9</version></dependency>

主要用到该依赖下的两个类:XSSFWorkbook和HSSFWorkbook类。

XSSFWorkbook是Excel中的xlsx版本,HSSFWorkbook是xls版本,我使用的是xlsx版本的。

二.详细代码

 业务层:

@Service
public class UserServiceImpl implements UserService {@Autowiredprivate UserMapper userMapper;@Overridepublic XSSFWorkbook downloadAssociatedUser() {List<User> list = userMapper.selectByExample(null);//查出数据库数据XSSFWorkbook wb = new XSSFWorkbook();Sheet sheet = wb.createSheet("UserList");//创建一张表Row titleRow = sheet.createRow(0);//创建第一行,起始为0titleRow.createCell(0).setCellValue("账号");//第一列titleRow.createCell(1).setCellValue("名称");titleRow.createCell(2).setCellValue("权限来源");titleRow.createCell(3).setCellValue("账号状态");int cell = 1;for (User user : list) {Row row = sheet.createRow(cell);//从第二行开始保存数据row.createCell(0).setCellValue(user.getUserAccount());row.createCell(1).setCellValue(user.getUserName());//将数据库的数据遍历出来row.createCell(2).setCellValue(user.getFromAuth());row.createCell(3).setCellValue(user.getStatus());cell++;}return wb;}

控制层:

@Controller
public class UserController {@Autowiredprivate UserService userService;@RequestMapping(value = "/user/download",method = RequestMethod.GET)public void userExcel(HttpServletResponse response) {XSSFWorkbook wb = userService.downloadAssociatedUser();String fileName = "用户清单" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ".xlsx";OutputStream outputStream = null;try {fileName = URLEncoder.encode(fileName,"UTF-8");//设置ContentType请求信息格式response.setContentType("application/vnd.ms-excel");response.setHeader("Content-disposition", "attachment;filename=" + fileName);outputStream = response.getOutputStream();wb.write(outputStream);outputStream.flush();outputStream.close();} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

参考文章:springboot实现数据库数据导出生成Excel报表 - changlinlo - 博客园

springboot实现数据库数据导出生成Excel报表相关推荐

  1. 将数据库数据导出到Excel中,并可以在浏览器上下载Excel

    将数据库数据导出到Excel中,并可以在浏览器上下载Excel 附代码: //设置文件保存路径 public static String url ="F:\\Workspase\\BackC ...

  2. 数据库数据导出到Excel

    数据库数据导出到Excel 从数据库中获取数据,使用java建立一个新建Excel,添加表头,并将数据存储到Excel表格中的对应位置上. 在新建一个Excel时,我们会需要定义一些特别的Excel格 ...

  3. asp点击增加一条表格数据_asp生成excel报表(一)

    1. 前言 报表打印通常是管理信息系统中的一个重要模块,而Excel凭借它功能强大.应用灵活.通用性强等的优势在报表打印中获得了广泛的应用. 最初的管理信息系统基本上是采用客户机/服务器(C/S)模式 ...

  4. excel文件导入hive乱码_把数据库数据导出到excel

    SQL Server BI Step by Step 2--- 使用SSIS进行简单的数据导入导出 让我们首先开始学习SSIS吧,利用SSIS把SQL Server中的数据导出.首先,打开Vs.net ...

  5. 微信小程序如何实现将数据导出生成excel

    码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取. 这个需求也是我在接私活的时候遇到的,需求就是,要实现将指定数据库表的数据全部导出生成excel和按需导出,也 ...

  6. Android将数据库数据导出成excel格式的文本(CSV)

    在做Android软件的时候往往随着时间的推移数据会越来越多,这个时候想要查看数据的时候到数据库里面去查看的话就会很麻烦,所以有时候需要将数据库里面的数据导出来用office打开看会更加方便.导出ex ...

  7. SSM框架将数据库数据导出为Excel文件

    jsp页面主要代码: <span id="export" οnclick="window.location.href='${APP_PATH}/export'&qu ...

  8. java 从mysql 导出到excel_Java:将数据库数据导出到Excel (一眼就看会)

    所用Jar包 1. sqljdbc4.jar 连接数据库的Jar包(根据数据库的不同进行选择,我用的SqlServer2008) 2.Jxl.jar 访问Excel的Jar包 注意:支持以.xls结尾 ...

  9. POI技术,将数据库数据导出到excel表中

    一.功能 使用反射写一个工具类,后续使用者可以将任意一个数据库的数值到处到excel表中. 1.使用IDEA软件JDBC连接好数据库, 建立WEB项目 将要导出的表数据塞入一个List集合中. 2.找 ...

最新文章

  1. CentOS6 vsftpd 安装及优化方法
  2. Python实现生成一个单词的圆形词云
  3. java多线程模拟龟兔赛跑
  4. 网络设备配置与管理--使用VTP实现扩展VLAN配置
  5. 实录分享 | 计算未来轻沙龙:“法律+AI”前沿研讨会(PPT下载)
  6. [Windows驱动开发](三)基础知识——驱动例程
  7. 音视频技术开发周刊 59期
  8. watchOS更新后 Apple Watch 4心电图功能已开始支持欧洲用户
  9. 信息处理技术员的作用
  10. EMG 3.0 QQ 机器人插件:wiki 问答系统
  11. 去除winrar广告
  12. .NET 开源GIS解决方案一 概述
  13. 深度学习的黑魔法防御术:恶意样本(Adversarial Example) 的防御策略综述
  14. linux拷贝4g以上文件夹,32位Ubuntu中支持超过4G的大内存的方法
  15. 百度冰桶算法4.5更新:发力打击恶劣广告行为
  16. 【连载之一】那些公众号不会告诉你的职业真相
  17. 实习总结与收获(2021.6.7-2021.8.27)
  18. 简述igp和egp_IGP 和 EGP 这两类协议的主要区别是什么 - 问答库
  19. 信息技术助推智能建造和建筑企业数字化转型
  20. Kotlin高仿微信-第26篇-朋友圈-选择图片、小视频对话框

热门文章

  1. 《Web安全之深度学习实战》笔记:第六章 垃圾邮件识别
  2. 微信浏览器调起微信登录
  3. How to make seperate debuginfo file
  4. 【Markdown Pad 2常见问题3】Markdown Pad 2插入本土图片无法显示
  5. java培训班值得去吗?
  6. Python计算身体质量指数BMI
  7. Android多语言支持二
  8. 云计算机lol,云电脑玩英雄联盟卡不卡?
  9. ACCESS备件库管理数据库
  10. android 改变输入法enter键文字 为搜索 下一个 以及前往