public void exportFile(DayDTO dayDTO, Page<DayDTO> page, ExcelOptions options, HttpServletResponse response) throws Exception { String fileName = options.getFilename(); QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition(dayDTO, DayDTO.class); if (ExportMode.current.equals(options.getMode())) { // 导出当前页数据 } else if (ExportMode.selected.equals(options.getMode())) { // 导出选中数据 queryWrapper.in("a.id", options.getSelectIds()); } else { // 导出全部数据 page.setSize(-1); page.setCurrent(0); } List<DayDTO> result = dayService.findPage(page, queryWrapper).getRecords(); EasyExcelUtils.newInstance(dayService, dayWrapper).exportExcel(result, options.getSheetName(), DayDTO.class, fileName, options.getExportFields(), response); }
时间: 2024-04-21 12:25:03 浏览: 107
JSP 中request与response的用法详解
这段代码是一个导出文件的方法。它接收DayDTO对象、Page对象、ExcelOptions对象和HttpServletResponse对象作为参数。
首先,通过ExcelOptions对象获取文件名。
然后,根据ExcelOptions对象的模式(ExportMode),判断是导出当前页数据、导出选中数据还是导出全部数据。
- 如果是导出当前页数据,那么不需要做任何操作。
- 如果是导出选中数据,使用QueryWrapper对象的in方法,传入属性名 "a.id" 和选中的id列表 options.getSelectIds()。
- 如果是导出全部数据,将Page对象的大小设为-1,当前页设为0,以获取所有数据。
接下来,使用QueryWrapper对象生成查询条件,并调用dayService的findPage方法查询数据,并通过getRecords()方法获取查询结果列表。
最后,使用EasyExcelUtils工具类的exportExcel方法将查询结果列表导出为Excel文件。该方法的参数包括结果列表result,工作表名options.getSheetName(),实体类DayDTO.class,文件名fileName,导出字段列表options.getExportFields()和HttpServletResponse对象response。
阅读全文