List of usage examples for org.apache.poi.hssf.usermodel DVConstraint createNumericConstraint
public static DVConstraint createNumericConstraint(int validationType, int comparisonOperator, String expr1, String expr2)
From source file:com.dituiba.excel.DefaultValidateAdapter.java
License:Apache License
/** * ?/*from www .j av a 2 s. c o m*/ * @param dataBean * @param sheet * @param columnIndex * @param filedName */ public void NumericValidateAdapter(DataBean dataBean, Sheet sheet, int columnIndex, String filedName) { NumericValidateConfig config = dataBean.getValidateConfig(filedName); DVConstraint constraint = DVConstraint.createNumericConstraint( DataValidationConstraint.ValidationType.DECIMAL, DataValidationConstraint.OperatorType.BETWEEN, config.min(), config.max()); // ??,???? CellRangeAddressList regions = new CellRangeAddressList(BaseExcelService.START_ROW, Short.MAX_VALUE, columnIndex, columnIndex); // ? DataValidation data_validation_list = new HSSFDataValidation(regions, constraint); setValidationTip(data_validation_list, config); sheet.addValidationData(data_validation_list); }
From source file:com.dituiba.excel.DefaultValidateAdapter.java
License:Apache License
/** * ?/* w w w .j ava 2s .c o m*/ * @param dataBean * @param sheet * @param columnIndex * @param filedName */ public void IntegerValidateAdapter(DataBean dataBean, Sheet sheet, int columnIndex, String filedName) { IntValidateConfig config = dataBean.getValidateConfig(filedName); DVConstraint constraint = DVConstraint.createNumericConstraint( DataValidationConstraint.ValidationType.INTEGER, DataValidationConstraint.OperatorType.BETWEEN, config.min(), config.max()); // ??,???? CellRangeAddressList regions = new CellRangeAddressList(BaseExcelService.START_ROW, Short.MAX_VALUE, columnIndex, columnIndex); // ? DataValidation data_validation_list = new HSSFDataValidation(regions, constraint); setValidationTip(data_validation_list, config); sheet.addValidationData(data_validation_list); }
From source file:com.dituiba.excel.DefaultValidateAdapter.java
License:Apache License
/** * ?/*from w ww .ja v a 2s . c o m*/ * @param dataBean * @param sheet * @param columnIndex * @param filedName */ public void TextValidateAdapter(DataBean dataBean, Sheet sheet, int columnIndex, String filedName) { TextValidateConfig config = dataBean.getValidateConfig(filedName); if (config.length() != 0) { DVConstraint constraint = DVConstraint.createNumericConstraint(DVConstraint.ValidationType.TEXT_LENGTH, DVConstraint.OperatorType.LESS_OR_EQUAL, config.length() + "", null); // ??,???? CellRangeAddressList regions = new CellRangeAddressList(BaseExcelService.START_ROW, Short.MAX_VALUE, columnIndex, columnIndex); // ? DataValidation data_validation_list = new HSSFDataValidation(regions, constraint); setValidationTip(data_validation_list, config); sheet.addValidationData(data_validation_list); } }
From source file:org.sysmodb.PatchedPoi.java
License:BSD License
public List<HSSFDataValidation> getValidationData(final HSSFSheet sheet, final HSSFWorkbook workbook) { final List<HSSFDataValidation> dataValidation = new ArrayList<HSSFDataValidation>(); try {//from www. j av a 2 s . c om DataValidityTable dvt = sheet.getDataValidityTable(); dvt.visitContainedRecords(new RecordAggregate.RecordVisitor() { /** * /** Implementors may call non-mutating methods on Record r. * * @param r must not be <code>null</code> * */ public void visitRecord(Record r) { if (r instanceof DVRecord) { DVRecord dvRecord = (DVRecord) r; CellRangeAddressList cellRangeAddressList = dvRecord.getCellRangeAddress(); int validationType = dvRecord.getDataType(); if (validationType == DVConstraint.ValidationType.LIST) { Formula f1 = dvRecord.getFormula1(); String formula1 = getStringFromPtgTokens(f1.getTokens(), workbook); DVConstraint dvConstraint = DVConstraint.createFormulaListConstraint(formula1); HSSFDataValidation validation = new HSSFDataValidation(cellRangeAddressList, dvConstraint); dataValidation.add(validation); } else if (validationType == DVConstraint.ValidationType.INTEGER || validationType == DVConstraint.ValidationType.DECIMAL || validationType == DVConstraint.ValidationType.TEXT_LENGTH) { Formula f1 = dvRecord.getFormula1(); Formula f2 = dvRecord.getFormula2(); String formula1 = getStringFromPtgTokens(f1.getTokens(), workbook); String formula2 = getStringFromPtgTokens(f2.getTokens(), workbook); if (!formula2.isEmpty()) { int comparison = dvRecord.getConditionOperator(); DVConstraint dvConstraint = DVConstraint.createNumericConstraint(validationType, comparison, formula1, formula2); HSSFDataValidation validation = new HSSFDataValidation(cellRangeAddressList, dvConstraint); dataValidation.add(validation); } } } } }); } catch (IllegalStateException e) { logger.warning("Unable to read data validations - " + e.getMessage()); } return dataValidation; }
From source file:uk.ac.manchester.cs.owl.semspreadsheets.model.hssf.impl.PatchedPoi.java
License:BSD License
public List<HSSFDataValidation> getValidationData(final HSSFSheet sheet, final HSSFWorkbook workbook) { final List<HSSFDataValidation> dataValidation = new ArrayList<HSSFDataValidation>(); DataValidityTable dvt = sheet.getDataValidityTable(); dvt.visitContainedRecords(new RecordAggregate.RecordVisitor() { /**/* w ww . ja v a 2 s . co m*/ * /** Implementors may call non-mutating methods on Record r. * * @param r must not be <code>null</code> * */ public void visitRecord(Record r) { if (r instanceof DVRecord) { DVRecord dvRecord = (DVRecord) r; CellRangeAddressList cellRangeAddressList = dvRecord.getCellRangeAddress(); int validationType = dvRecord.getDataType(); if (validationType == DVConstraint.ValidationType.LIST) { Formula f1 = dvRecord.getFormula1(); String formula1 = getStringFromPtgTokens(f1.getTokens(), workbook); DVConstraint dvConstraint = DVConstraint.createFormulaListConstraint(formula1); HSSFDataValidation validation = new HSSFDataValidation(cellRangeAddressList, dvConstraint); dataValidation.add(validation); } else if (validationType == DVConstraint.ValidationType.INTEGER || validationType == DVConstraint.ValidationType.DECIMAL || validationType == DVConstraint.ValidationType.TEXT_LENGTH) { Formula f1 = dvRecord.getFormula1(); Formula f2 = dvRecord.getFormula2(); String formula1 = getStringFromPtgTokens(f1.getTokens(), workbook); String formula2 = getStringFromPtgTokens(f2.getTokens(), workbook); if (!formula2.isEmpty()) { //potentially caused by macros, which leads to a error when attempting to create the constraint int comparison = dvRecord.getConditionOperator(); DVConstraint dvConstraint = DVConstraint.createNumericConstraint(validationType, comparison, formula1, formula2); HSSFDataValidation validation = new HSSFDataValidation(cellRangeAddressList, dvConstraint); dataValidation.add(validation); } } else if (validationType == DVConstraint.ValidationType.FORMULA) { Formula f1 = dvRecord.getFormula1(); String formula1 = getStringFromPtgTokens(f1.getTokens(), workbook); //doesn't contain the full formula, including cell and comparison - but should contain all the information needed. If not, getStringFromPtgTokens //needs updating to handle the extra token types DVConstraint dvConstraint = DVConstraint.createCustomFormulaConstraint(formula1); HSSFDataValidation validation = new HSSFDataValidation(cellRangeAddressList, dvConstraint); dataValidation.add(validation); } } } }); return dataValidation; }