Commit 5dcfe894 authored by tangwei's avatar tangwei

修改bug

parent 675cdd1b
...@@ -11,6 +11,8 @@ import org.apache.poi.ss.usermodel.DataValidation; ...@@ -11,6 +11,8 @@ import org.apache.poi.ss.usermodel.DataValidation;
import org.apache.poi.ss.usermodel.DataValidationConstraint; import org.apache.poi.ss.usermodel.DataValidationConstraint;
import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.XSSFDataValidation;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -30,7 +32,7 @@ public class TemplateCellWriteHandlerDate implements SheetWriteHandler { ...@@ -30,7 +32,7 @@ public class TemplateCellWriteHandlerDate implements SheetWriteHandler {
/** /**
* 避免生成的导入模板下拉值获取不到 * 避免生成的导入模板下拉值获取不到
*/ */
private static final Integer LIMIT_NUMBER = 10; private static final Integer LIMIT_NUMBER = 1;
...@@ -88,6 +90,14 @@ public class TemplateCellWriteHandlerDate implements SheetWriteHandler { ...@@ -88,6 +90,14 @@ public class TemplateCellWriteHandlerDate implements SheetWriteHandler {
// 将刚才设置的sheet引用到你的下拉列表中 // 将刚才设置的sheet引用到你的下拉列表中
DataValidationConstraint constraint = helper.createFormulaListConstraint(refers); DataValidationConstraint constraint = helper.createFormulaListConstraint(refers);
DataValidation dataValidation = helper.createValidation(constraint, rangeList); DataValidation dataValidation = helper.createValidation(constraint, rangeList);
if(dataValidation instanceof XSSFDataValidation){
dataValidation.setSuppressDropDownArrow(true);
dataValidation.setShowErrorBox(true);
}else{
dataValidation.setSuppressDropDownArrow(false);
}
writeSheetHolder.getSheet().addValidationData(dataValidation); writeSheetHolder.getSheet().addValidationData(dataValidation);
// 设置存储下拉列值得sheet为隐藏 // 设置存储下拉列值得sheet为隐藏
int hiddenIndex = workbook.getSheetIndex(sheetName); int hiddenIndex = workbook.getSheetIndex(sheetName);
...@@ -95,17 +105,17 @@ public class TemplateCellWriteHandlerDate implements SheetWriteHandler { ...@@ -95,17 +105,17 @@ public class TemplateCellWriteHandlerDate implements SheetWriteHandler {
workbook.setSheetHidden(hiddenIndex, true); workbook.setSheetHidden(hiddenIndex, true);
} }
} }
// 下拉列表约束数据 // // 下拉列表约束数据
DataValidationConstraint constraint = helper.createExplicitListConstraint(v); // DataValidationConstraint constraint = helper.createExplicitListConstraint(v);
// 设置约束 // // 设置约束
DataValidation validation = helper.createValidation(constraint, rangeList); // DataValidation validation = helper.createValidation(constraint, rangeList);
// 阻止输入非下拉选项的值 // // 阻止输入非下拉选项的值
validation.setErrorStyle(DataValidation.ErrorStyle.STOP); // validation.setErrorStyle(DataValidation.ErrorStyle.STOP);
validation.setShowErrorBox(true); // validation.setShowErrorBox(true);
validation.setSuppressDropDownArrow(true); // validation.setSuppressDropDownArrow(true);
validation.createErrorBox("提示", "此值与单元格定义格式不一致"); // validation.createErrorBox("提示", "此值与单元格定义格式不一致");
// validation.createPromptBox("填写说明:","填写内容只能为下拉数据集中的单位,其他单位将会导致无法入仓"); // // validation.createPromptBox("填写说明:","填写内容只能为下拉数据集中的单位,其他单位将会导致无法入仓");
sheet.addValidationData(validation); // sheet.addValidationData(validation);
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment