| | |
| | | import org.springframework.web.context.request.RequestContextHolder; |
| | | import org.springframework.web.context.request.ServletRequestAttributes; |
| | | |
| | | import javax.servlet.ServletOutputStream; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.*; |
| | |
| | | @Override |
| | | public BaseDao getBaseDao() { |
| | | return super.getBaseDao(); |
| | | } |
| | | |
| | | public void reportDataExport(FieldSetEntity fse) throws BaseException { |
| | | //报表uuid |
| | | String uuid = fse.getUUID(); |
| | | //是否当前页 |
| | | boolean exportCurrentPage = fse.getBoolean("exportCurrentPage"); |
| | | //当前页号 |
| | | int pageIndex = fse.getInteger(CmnConst.CPAGE); |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | List<List<String>> headTitles = Lists.newArrayList(); |
| | | List<String> fields = Lists.newArrayList(); |
| | | //导出的数据集 |
| | | List<List<Object>> exportData = Lists.newArrayList(); |
| | | List<String> titles = Lists.newArrayList(); |
| | | List<String> titleTemplate = Lists.newArrayList(); |
| | | titleTemplate.add(main_title); |
| | |
| | | response.setContentType("multipart/form-data"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 |
| | | // 这里需要设置不关闭流 |
| | | EasyExcel.write(response.getOutputStream()). |
| | | registerWriteHandler(new Custemhandler()).head(headTitles).sheet(main_title).doWrite(lists); |
| | | writeExcel(headTitles, lists, main_title, response); |
| | | } |
| | | |
| | | /** |
| | | * 输出excel |
| | | * |
| | | * @param excelHeaders excel表头 |
| | | * @param dataRows 数据行 |
| | | * @param sheetName sheet名称 |
| | | * @throws IOException |
| | | */ |
| | | public void writeExcel(List<List<String>> excelHeaders, List dataRows, String sheetName, HttpServletResponse response) throws IOException { |
| | | |
| | | response.setContentType("multipart/form-data"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 |
| | | // 这里需要设置不关闭流 |
| | | try (ServletOutputStream outputStream = response.getOutputStream();) { |
| | | EasyExcel.write(outputStream). |
| | | registerWriteHandler(new Custemhandler()).head(excelHeaders).sheet(sheetName).doWrite(dataRows); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 组装数据 |
| | | * |
| | | * @param dataArray |