使用EasyExcel导出,这个轮子真方便 |
您所在的位置:网站首页 › excel导入文件名称 › 使用EasyExcel导出,这个轮子真方便 |
![]() EasyExcel是一款优秀的Excel导出组件,基于注解的形式导出。除了导出,还支持导入。今天我们主要聊聊它的导出。 git项目地址:https://github.com/alibaba/easyexcel 它的优秀之处在于很省内存,导出导入速度也很快。 ![]() 首先需要引入Maven 代码语言:javascript复制 com.alibaba easyexcel 2.2.0-beta1 compile dto对象![]() 字段上标有注解,用于设置Excel的表头。 导出方法封装![]() 这里可以自定义导出文件的文件名,sheet名。我们将文件名添加时间戳后缀,然后文件名为防止中文乱码,我们将编码处理成UTF-8的形式。 我们将方法再次封装。 代码语言:javascript复制public void exportExcelWeb(HttpServletResponse response, List teacherInfoDtoList) { String fileName = "Web导出测试"; String sheetName = "sheet"; EasyExcelUtils.exportExcelWeb(response, teacherInfoDtoList, TeacherInfoDto.class, fileName, sheetName); }设置好文件名和sheet名。 模拟数据库中查出的数据。 代码语言:javascript复制public List listInfo() { List list = Lists.newArrayList(); TeacherInfoDto dto = new TeacherInfoDto(); dto.setId(1); dto.setPhone("13346785433"); dto.setName("Zhouzhou"); dto.setAddress("中国 珠穆朗玛峰"); dto.setEnrolDate("2021-04-12"); dto.setDes("我饿了"); list.add(dto); TeacherInfoDto dto2 = new TeacherInfoDto(); dto2.setId(2); dto2.setPhone("16732678543"); dto2.setName("Lvshen"); dto2.setAddress("中国 鄱阳湖"); dto2.setEnrolDate("2021-04-18"); dto2.setDes("I can fly"); list.add(dto2); return list; }我们在Controller层编写如下代码: 代码语言:javascript复制@RestController @RequestMapping(value = "/excel", method = {RequestMethod.GET, RequestMethod.POST}) public class EasyExportController { @Autowired private ExcelService excelService; @RequestMapping(value = "/export", method = RequestMethod.POST) public void export(HttpServletResponse response) { List teacherInfoDtoList = excelService.listInfo(); excelService.exportExcelWeb(response, teacherInfoDtoList); } }我们启动项目,在浏览器中输入地址。 ![]() 导出的Excel文件如下: ![]() 这款组件导出功能非常丰富,可以实现在单元格中添加批注,设置表格背景,表格大小,单元格合并等功能。 2Excel填充功能EasyExcel除了一般的导出,还可以按一定的模板进行填充。 ![]() 我们设置如上图的模板,模板中的data1,data2就是数据对象,后面跟了具体的数据属性。 测试代码如下: ![]() FillExcelTemplate.xlsx就是设置的模板。执行代码我们来看看生成的Excel文件。 ![]() ![]() 今天的文章就介绍这里了,如果对你有用,欢迎转发。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |