diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/CostFeeController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/CostFeeController.java index 579db2e..f390d6f 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/CostFeeController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/CostFeeController.java @@ -15,9 +15,8 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.*; -import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddressList; -import org.apache.poi.xssf.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; @@ -32,9 +31,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.lang.reflect.Method; import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; import java.util.*; -import java.util.stream.Collectors; import static com.zteits.urbanops.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST; import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; @@ -124,7 +121,7 @@ public class CostFeeController{ XSSFWorkbook workbook = new XSSFWorkbook(in); OutputStream out = response.getOutputStream()) { - XSSFSheet sheet = workbook.getSheetAt(0); + Sheet sheet = workbook.getSheetAt(0); // ============================================== // 获取最新单位列表 @@ -155,7 +152,7 @@ public class CostFeeController{ /** * 创建下拉框 + 给单元格赋值 */ - private void createDropdownAndSetValue(XSSFSheet sheet, List options, int startRow) { + private void createDropdownAndSetValue(Sheet sheet, List options, int startRow) { if (options.isEmpty()) { log.error("下拉选项为空,不创建"); return; @@ -213,15 +210,16 @@ public class CostFeeController{ // 创建下拉框(作用范围:startRow ~ 1000行) // ============================================== CellRangeAddressList regions = new CellRangeAddressList(startRow, endRow, targetCol, targetCol); - XSSFDataValidationHelper helper = new XSSFDataValidationHelper(sheet); - XSSFDataValidationConstraint constraint = (XSSFDataValidationConstraint) helper.createExplicitListConstraint( + DataValidationHelper helper = sheet.getDataValidationHelper(); + DataValidationConstraint constraint = helper.createExplicitListConstraint( options.toArray(new String[0]) ); - XSSFDataValidation validation = (XSSFDataValidation) helper.createValidation(constraint, regions); - + DataValidation validation = helper.createValidation(constraint, regions); // 下拉框基础配置 validation.setEmptyCellAllowed(true); - validation.setSuppressDropDownArrow(true); + validation.setSuppressDropDownArrow(true); // 显示箭头 + validation.setShowErrorBox(true); + validation.setShowPromptBox(true); // 启用点击弹出提示 sheet.addValidationData(validation); log.info("【成功】为列{}添加下拉并赋值,行{}~{},选项数:{}",