* https://www.renren.io - * + *
* 版权所有,侵权必究!
*/
@@ -10,9 +10,11 @@ package com.elink.esua.epdc.commons.tools.utils;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
+import cn.afterturn.easypoi.excel.export.ExcelBatchExportService;
+import cn.afterturn.easypoi.handler.inter.IExcelExportServer;
import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
@@ -20,12 +22,10 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
* Excel工具类
@@ -38,22 +38,22 @@ public class ExcelUtils {
/**
* Excel导出
*
- * @param response response
- * @param fileName 文件名
- * @param list 数据List
- * @param pojoClass 对象Class
+ * @param response response
+ * @param fileName 文件名
+ * @param list 数据List
+ * @param pojoClass 对象Class
*/
public static void exportExcel(HttpServletResponse response, String fileName, Collection> list,
Class> pojoClass) throws IOException {
- if(StringUtils.isBlank(fileName)){
+ if (StringUtils.isBlank(fileName)) {
//当前日期
fileName = DateUtils.format(new Date());
}
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), pojoClass, list);
Sheet sheet1 = workbook.getSheetAt(0);
- sheet1.setDefaultColumnWidth(50*256);
- sheet1.setDefaultRowHeight((short)(2*256));
+ sheet1.setDefaultColumnWidth(50 * 256);
+ sheet1.setDefaultRowHeight((short) (2 * 256));
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
@@ -64,18 +64,58 @@ public class ExcelUtils {
out.close();
}
+ /**
+ * 导出大量数据(超百万行的数据,建议用CSV导出。)
+ *
+ * @param fileName 文件名
+ * @param queryParams 查询条件
+ * @param server 查询服务
+ * @param response 浏览器请求返回
+ * @param params Excel属性
+ * @param pojoClass Excel对象Class
+ * @return void
+ * @author work@yujt.net.cn
+ * @date 2021/6/17 13:55
+ */
+ public static