springboot实现数据库数据导出生成Excel报表
一.导入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报表相关推荐
- 将数据库数据导出到Excel中,并可以在浏览器上下载Excel
将数据库数据导出到Excel中,并可以在浏览器上下载Excel 附代码: //设置文件保存路径 public static String url ="F:\\Workspase\\BackC ...
- 数据库数据导出到Excel
数据库数据导出到Excel 从数据库中获取数据,使用java建立一个新建Excel,添加表头,并将数据存储到Excel表格中的对应位置上. 在新建一个Excel时,我们会需要定义一些特别的Excel格 ...
- asp点击增加一条表格数据_asp生成excel报表(一)
1. 前言 报表打印通常是管理信息系统中的一个重要模块,而Excel凭借它功能强大.应用灵活.通用性强等的优势在报表打印中获得了广泛的应用. 最初的管理信息系统基本上是采用客户机/服务器(C/S)模式 ...
- excel文件导入hive乱码_把数据库数据导出到excel
SQL Server BI Step by Step 2--- 使用SSIS进行简单的数据导入导出 让我们首先开始学习SSIS吧,利用SSIS把SQL Server中的数据导出.首先,打开Vs.net ...
- 微信小程序如何实现将数据导出生成excel
码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取. 这个需求也是我在接私活的时候遇到的,需求就是,要实现将指定数据库表的数据全部导出生成excel和按需导出,也 ...
- Android将数据库数据导出成excel格式的文本(CSV)
在做Android软件的时候往往随着时间的推移数据会越来越多,这个时候想要查看数据的时候到数据库里面去查看的话就会很麻烦,所以有时候需要将数据库里面的数据导出来用office打开看会更加方便.导出ex ...
- SSM框架将数据库数据导出为Excel文件
jsp页面主要代码: <span id="export" οnclick="window.location.href='${APP_PATH}/export'&qu ...
- java 从mysql 导出到excel_Java:将数据库数据导出到Excel (一眼就看会)
所用Jar包 1. sqljdbc4.jar 连接数据库的Jar包(根据数据库的不同进行选择,我用的SqlServer2008) 2.Jxl.jar 访问Excel的Jar包 注意:支持以.xls结尾 ...
- POI技术,将数据库数据导出到excel表中
一.功能 使用反射写一个工具类,后续使用者可以将任意一个数据库的数值到处到excel表中. 1.使用IDEA软件JDBC连接好数据库, 建立WEB项目 将要导出的表数据塞入一个List集合中. 2.找 ...
最新文章
- CentOS6 vsftpd 安装及优化方法
- Python实现生成一个单词的圆形词云
- java多线程模拟龟兔赛跑
- 网络设备配置与管理--使用VTP实现扩展VLAN配置
- 实录分享 | 计算未来轻沙龙:“法律+AI”前沿研讨会(PPT下载)
- [Windows驱动开发](三)基础知识——驱动例程
- 音视频技术开发周刊 59期
- watchOS更新后 Apple Watch 4心电图功能已开始支持欧洲用户
- 信息处理技术员的作用
- EMG 3.0 QQ 机器人插件:wiki 问答系统
- 去除winrar广告
- .NET 开源GIS解决方案一 概述
- 深度学习的黑魔法防御术:恶意样本(Adversarial Example) 的防御策略综述
- linux拷贝4g以上文件夹,32位Ubuntu中支持超过4G的大内存的方法
- 百度冰桶算法4.5更新:发力打击恶劣广告行为
- 【连载之一】那些公众号不会告诉你的职业真相
- 实习总结与收获(2021.6.7-2021.8.27)
- 简述igp和egp_IGP 和 EGP 这两类协议的主要区别是什么 - 问答库
- 信息技术助推智能建造和建筑企业数字化转型
- Kotlin高仿微信-第26篇-朋友圈-选择图片、小视频对话框