效果

使用
@GetMapping("/downloadTemplate")
@ApiOperation(value = "模板", produces = "application/octet-stream")
public void downloadTemplate(HttpServletResponse response) throws IOException {
Workbook sheets = ExcelExportUtil.exportExcel(new ExportParams(), ExcelImportDTO.class, Lists.newArrayList());
ExcelSelectListUtil.selectList(sheets, 1, 1, new String[]{"一般", "重大"});
ExcelUtils.buildExcelDocument("xxx导入模板", sheets, response);
}
工具类_ExcelSelectListUtil
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.afterturn.easypoi.excel.export.ExcelBatchExportService;
import cn.afterturn.easypoi.excel.export.ExcelExportService;
import cn.afterturn.easypoi.excel.export.template.ExcelExportOfTemplateUtil;
import cn.afterturn.easypoi.handler.inter.IExcelExportServer;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
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;
public final class ExcelExportUtil {
public static int USE_SXSSF_LIMIT = 100000;
public static final String SHEET_NAME = "sheetName";
private ExcelExportUtil() {
}
public static Workbook exportBigExcel(ExportParams entity, Class<?> pojoClass, IExcelExportServer server, Object queryParams) {
ExcelBatchExportService batchServer = new ExcelBatchExportService();
batchServer.init(entity, pojoClass);
return batchServer.exportBigExcel(server, queryParams);
}
public static Workbook exportBigExcel(ExportParams entity, List<ExcelExportEntity> excelParams, IExcelExportServer server, Object queryParams) {
ExcelBatchExportService batchServer = new ExcelBatchExportService();
batchServer.init(entity, excelParams);
return batchServer.exportBigExcel(server, queryParams);
}
public static Workbook exportExcel(ExportParams entity, Class<?> pojoClass, Collection<?> dataSet) {
Workbook workbook = getWorkbook(entity.getType(), dataSet.size());
(new ExcelExportService()).createSheet(workbook, entity, pojoClass, dataSet);
return workbook;
}
private static Workbook getWorkbook(ExcelType type, int size) {
if (ExcelType.HSSF.equals(type)) {
return new HSSFWorkbook();
} else {
return (Workbook)(size < USE_SXSSF_LIMIT ? new XSSFWorkbook() : new SXSSFWorkbook());
}
}
public static Workbook exportExcel(ExportParams entity, List<ExcelExportEntity> entityList, Collection<?> dataSet) {
Workbook workbook = getWorkbook(entity.getType(), dataSet.size());
(new ExcelExportService()).createSheetForMap(workbook, entity, entityList, dataSet);
return workbook;
}
public static Workbook exportExcel(List<Map<String, Object>> list, ExcelType type) {
Workbook workbook = getWorkbook(type, 0);
Iterator var3 = list.iterator();
while(var3.hasNext()) {
Map<String, Object> map = (Map)var3.next();
ExcelExportService service = new ExcelExportService();
service.createSheet(workbook, (ExportParams)map.get("title"), (Class)map.get("entity"), (Collection)map.get("data"));
}
return workbook;
}
@Deprecated
public static Workbook exportExcel(TemplateExportParams params, Class<?> pojoClass, Collection<?> dataSet, Map<String, Object> map) {
return (new ExcelExportOfTemplateUtil()).createExcelByTemplate(params, pojoClass, dataSet, map);
}
public static Workbook exportExcel(TemplateExportParams params, Map<String, Object> map) {
return (new ExcelExportOfTemplateUtil()).createExcelByTemplate(params, (Class)null, (Collection)null, map);
}
public static Workbook exportExcel(Map<Integer, Map<String, Object>> map, TemplateExportParams params) {
return (new ExcelExportOfTemplateUtil()).createExcelByTemplate(params, map);
}
public static Workbook exportExcelClone(Map<Integer, List<Map<String, Object>>> map, TemplateExportParams params) {
return (new ExcelExportOfTemplateUtil()).createExcelCloneByTemplate(params, map);
}
}