package cn.thinkjoy.yucai.utils; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.afterturn.easypoi.excel.export.ExcelExportService; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.util.Collection; import java.util.List; import java.util.Map; /** * Created by lianfangfang on 2019/3/14. */ public class ExcelMultiSheetExportUtil { /** * 一個excel 建立多個sheet * * @param list * 多個Map key title 對應表格Title key entity 對應表格對應實體 key data * Collection 數據 * @return */ public static Workbook exportExcel(List<Map<String, Object>> list, ExcelType type) { Workbook workbook = getWorkbook(type,0); for (Map<String, Object> map : list) { ExcelExportService service = new ExcelExportService(); service.createSheetForMap(workbook, (ExportParams)map.get("title"), (List<ExcelExportEntity>)map.get("entity"), (Collection<?>)map.get("data")); } return workbook; } private static Workbook getWorkbook(ExcelType type, int size) { if (ExcelType.HSSF.equals(type)) { return new HSSFWorkbook(); } else if (size < 100000) { return new XSSFWorkbook(); } else { return new SXSSFWorkbook(); } } }