实例:
//需要导入的包:
<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.2.0</version> </dependency>
// 实现方法:
public void excelTemplateExport(HttpServletResponse response){ List<CityProjectExcelExport> list = new ArrayList<>(); try{ ExportParams exportParams = new ExportParams(null, null, ExcelType.XSSF); Workbook workbook = ExcelExportUtil.exportExcel(exportParams, CityProjectExcelExport.class, list); List<String> users = new String[]{"张三","李四","王五"} ExcelUtil.selectList(workbook,1,1,users.toArray(new String[0])); ExcelUtil.selectList(workbook,6,6,new String[]{"是","否"}); response.setCharacterEncoding("UTF-8"); response.setHeader("content-Type", "application/json"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("项目导入模板" + ".xlsx", "UTF-8")); workbook.write(response.getOutputStream()); }catch (Exception e){ logger.error("下载项目导入模板失败:{}",e.getMessage()); e.printStackTrace(); } }
//ExcelUtil.selectList 方法
/** * 生成下拉列表 * @param workbook * @param firstCol * @param lastCol * @param datas */ public static void selectList(Workbook workbook, int firstCol, int lastCol, String[] datas ){ Sheet sheet = workbook.getSheetAt(0); //生成下拉列表 CellRangeAddressList cellRangeAddressList = new CellRangeAddressList(1, 50000, firstCol, lastCol); //生成下拉框内容 DataValidationHelper dvHelper = sheet.getDataValidationHelper(); DataValidationConstraint dvConstraint = dvHelper.createExplicitListConstraint(datas); DataValidation validation = dvHelper.createValidation(dvConstraint, cellRangeAddressList); //设置错误信息提示 validation.setShowErrorBox(true); //对sheet页生效 sheet.addValidationData(validation); }