Java表数据导出到Excel中的实现
作者:没有腰的嘟嘟嘟
这篇文章主要介绍了Java表数据导出到Excel中的实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
工作中遇到的需求,菜鸟笔记
1.pom中导入所用依赖
<!--导出Excel--> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>3.0.3</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-web</artifactId> <version>3.0.3</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation</artifactId> <version>3.0.3</version> </dependency>
2.创建一个实体类来接收从数据库查出的数据
- 我用到了两个表中的数据,所以我把需要的字段提取出来写了一个类
- @ExcelTarget(value = “”)就标识该类要导出为Excel,或者导入Excel的接收对象。value值其标识作用,不重复即可,随便取。
- @Excel(name = “”)就是作用于类属性上,表示该属性对应Excel的哪一列,即name的值,当然还有其它属性。
package com.school.grid.business.domain.exam; import cn.afterturn.easypoi.excel.annotation.ExcelTarget; import cn.afterturn.easypoi.excel.annotation.Excel; import lombok.Data; /** * @author song * 导出成绩实体 */ @Data @ExcelTarget("exportGrades") public class ExportGrades { /** * 学员名字 */ @Excel(name = "学员名字") private String userName; /** * 学员身份证号 */ @Excel(name = "学员身份证号") private String userIdCardNum; /** * 学员手机号 */ @Excel(name = "学员手机号") private String userId; /** * 考试科目 */ @Excel(name = "考试科目") private String paperManageSubject; /** * 学员考试成绩 */ @Excel(name = "学员考试成绩") private String userInfoPaperTtoalScore; }
3.Controller层
/** * 导出:姓名、身份证、电话、考试科目、成绩 * @param response * @param * @throws IOException */ @ApiOperation("成绩导出到excel") @GetMapping("/export/grades") public void detailsImport(HttpServletResponse response) throws IOException { // 告诉浏览器用什么软件可以打开此文件 response.setHeader("content-Type", "application/vnd.ms-excel"); // 下载文件的默认名称 response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("学员成绩表导出", StandardCharsets.UTF_8) + ".xls"); //编码 response.setCharacterEncoding("UTF-8"); //查询数据库要导出的数据 List<ExportGrades> list = certificateService.exportGrades(); //该方法需要三个参数:1、需要一个ExportParams2、要导出实体类3、导出的数据 Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(),ExportGrades.class,list); workbook.write(response.getOutputStream()); }
4.sql要查询的数据,我用的到两个表中的数据,所以我第二步就新建一个实体类来接收查询出来的数据
到此这篇关于Java表数据导出到Excel中的实现的文章就介绍到这了,更多相关Java表导出到Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!