zhang
昨天 a22f137d77c1e356ad3022690699e0f3d8fb9daa
XSSFWorkbook替换成SXSSFWorkbook,解决OOM;
autoSizeColumn问题解决
1个文件已修改
8 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java
@@ -5,7 +5,8 @@
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -36,8 +37,11 @@
    }
    public static <T> Workbook create(List<T> list, Class<T> clz) {
        XSSFWorkbook workbook = new XSSFWorkbook();
        SXSSFWorkbook workbook = new SXSSFWorkbook();
        Sheet sheet = workbook.createSheet(clz.getSimpleName());
        // 1. 向下转型并调用 trackAllColumnsForAutoSizing()
        // autoSizeColumn问题解决
        ((SXSSFSheet) sheet).trackAllColumnsForAutoSizing();
        Row header = sheet.createRow(0);
        Field[] fields = Cools.getAllFields(clz);