1821349743@qq.com
2023-04-17 b92fd92933fce8e97fef05207596217bb746cd4d
src/main/java/com/product/module/data/service/SystemDataExportService.java
@@ -22,6 +22,7 @@
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.*;
@@ -41,6 +42,16 @@
    @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);
    }
    /**
@@ -248,7 +259,6 @@
        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);
@@ -266,12 +276,31 @@
        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