网上只搜到POI的实现方式,想用EasyExcel发现搜半天都没搜到,官方文档也没有,然后自己研究之后,成功实现,记录一下,同时也方便大家查找。
pom
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.2</version>
</dependency>
实现代码
ExcelWriter excelWriter = builder.build();
for (CommonSheet commonSheet : commonSheetList) {
WriteSheet writeSheet = EasyExcel.writerSheet(commonSheet.getSheetNo(), commonSheet.getSheetName()).build();
excelWriter.write(commonSheet.getSheetData(), writeSheet);
//增加提示
Sheet sheet = excelWriter.writeContext().writeSheetHolder().getSheet();
DataValidationHelper validationHelper = sheet.getDataValidationHelper();
//都是以0为第一行或第一列开始或结束
CellRangeAddressList addressList = new CellRangeAddressList(1, 10, 1, 10);
//这里暂时不知道是干嘛的
DataValidationConstraint constraint = validationHelper.createCustomConstraint("BB1");
DataValidation dataValidation = validationHelper.createValidation(constraint, addressList);
//提醒的标题以及内容
dataValidation.createPromptBox("","日期格式为 2024-4-15");
//这个必须设置,否则无效
dataValidation.setShowPromptBox(true);
sheet.addValidationData(dataValidation);
}
excelWriter.finish();