List of usage examples for org.apache.poi.ss.usermodel Sheet addValidationData
public void addValidationData(DataValidation dataValidation);
From source file:cn.org.vbn.util.LinkedDropDownLists.java
License:Apache License
LinkedDropDownLists(String workbookName) { File file = null;/*from ww w . ja v a2s . c om*/ FileOutputStream fos = null; Workbook workbook = null; Sheet sheet = null; DataValidationHelper dvHelper = null; DataValidationConstraint dvConstraint = null; DataValidation validation = null; CellRangeAddressList addressList = null; try { // Using the ss.usermodel allows this class to support both binary // and xml based workbooks. The choice of which one to create is // made by checking the file extension. if (workbookName.endsWith(".xlsx")) { workbook = new XSSFWorkbook(); } else { workbook = new HSSFWorkbook(); } // Build the sheet that will hold the data for the validations. This // must be done first as it will create names that are referenced // later. sheet = workbook.createSheet("Linked Validations"); LinkedDropDownLists.buildDataSheet(sheet); // Build the first data validation to occupy cell A1. Note // that it retrieves it's data from the named area or region called // CHOICES. Further information about this can be found in the // static buildDataSheet() method below. addressList = new CellRangeAddressList(0, 0, 0, 0); dvHelper = sheet.getDataValidationHelper(); dvConstraint = dvHelper.createFormulaListConstraint("CHOICES"); validation = dvHelper.createValidation(dvConstraint, addressList); sheet.addValidationData(validation); // Now, build the linked or dependent drop down list that will // occupy cell B1. The key to the whole process is the use of the // INDIRECT() function. In the buildDataSheet(0 method, a series of // named regions are created and the names of three of them mirror // the options available to the user in the first drop down list // (in cell A1). Using the INDIRECT() function makes it possible // to convert the selection the user makes in that first drop down // into the addresses of a named region of cells and then to use // those cells to populate the second drop down list. addressList = new CellRangeAddressList(0, 0, 1, 1); dvConstraint = dvHelper.createFormulaListConstraint("INDIRECT(UPPER($A$1))"); validation = dvHelper.createValidation(dvConstraint, addressList); sheet.addValidationData(validation); file = new File(workbookName); fos = new FileOutputStream(file); workbook.write(fos); } catch (IOException ioEx) { System.out.println("Caught a: " + ioEx.getClass().getName()); System.out.println("Message: " + ioEx.getMessage()); System.out.println("Stacktrace follws:....."); ioEx.printStackTrace(System.out); } finally { try { if (fos != null) { fos.close(); fos = null; } } catch (IOException ioEx) { System.out.println("Caught a: " + ioEx.getClass().getName()); System.out.println("Message: " + ioEx.getMessage()); System.out.println("Stacktrace follws:....."); ioEx.printStackTrace(System.out); } } }
From source file:com.asakusafw.testdata.generator.excel.SheetEditor.java
License:Apache License
private void setExplicitListConstraint(Sheet sheet, String[] list, int firstRow, int firstCol, int lastRow, int lastCol) { assert sheet != null; assert list != null; DataValidationHelper helper = sheet.getDataValidationHelper(); CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol); DataValidationConstraint constraint = helper.createExplicitListConstraint(list); DataValidation validation = helper.createValidation(constraint, addressList); validation.setEmptyCellAllowed(true); sheet.addValidationData(validation); }
From source file:com.devnexus.ting.web.controller.admin.RegistrationController.java
License:Apache License
private void createTicketTypeDropDown(Sheet formSheet, Sheet ticketTypeSheet, String[] ticketTypes) { XSSFDataValidationHelper validationHelper = new XSSFDataValidationHelper((XSSFSheet) formSheet); CellRangeAddressList ticketCellAddress = new CellRangeAddressList(7, 100, 6, 7); DataValidationConstraint constraint = validationHelper .createFormulaListConstraint(ticketTypeSheet.getSheetName() + "!$A$1:$A$" + ticketTypes.length); // constraint = validationHelper.createExplicitListConstraint(ticketTypes); DataValidation dataValidation = validationHelper.createValidation(constraint, ticketCellAddress); dataValidation.setSuppressDropDownArrow(true); formSheet.addValidationData(dataValidation); }
From source file:com.dituiba.excel.DefaultValidateAdapter.java
License:Apache License
/** * ???//w w w . ja v a 2 s .co m * @param dataBean * @param sheet * @param columnIndex * @param filedName */ public void DicCodeValidateAdapter(DataBean dataBean, Sheet sheet, int columnIndex, String filedName) { DicValidateConfig config = dataBean.getValidateConfig(filedName); String dicCode = config.dicCode(); Set<String> set = dicCodePool.getDicValueSet().get(dicCode); if (ObjectHelper.isEmpty(set)) { log.error("?{}", dicCode); return; } if (config.columnName() != 0) {//? createDicCodeSheet(config, sheet, columnIndex, set); } else { String[] strings = set.toArray(new String[] {}); DVConstraint constraint = DVConstraint.createExplicitListConstraint(strings); // ??,???? CellRangeAddressList regions = new CellRangeAddressList(BaseExcelService.START_ROW, Short.MAX_VALUE, columnIndex, columnIndex); // ? HSSFDataValidation 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 www . j av a2 s . c om * @param config * @param sheet * @param columnIndex * @param valueSet */ protected void createDicCodeSheet(DicValidateConfig config, Sheet sheet, int columnIndex, Set<String> valueSet) { Workbook workbook = sheet.getWorkbook(); Sheet codeSheet = workbook.getSheet(DICCODE_SHEET_NAME); if (codeSheet == null) { log.debug("?Sheet?Sheet"); codeSheet = workbook.createSheet(DICCODE_SHEET_NAME); } int codeIndex = config.columnName() - 'A'; log.debug("codeIndex{}", codeIndex); if (codeSheet.getRow(0) == null || codeSheet.getRow(0).getCell(codeIndex) == null) { log.debug("????"); int i = 0; for (String dic : valueSet) { Row row = codeSheet.getRow(i); if (row == null) row = codeSheet.createRow(i); Cell cell = row.createCell(codeIndex); cell.setCellValue(dic); i++; } } else { log.debug("????"); } Name name = workbook.getName(config.columnName() + ""); if (name == null || name.isDeleted()) { log.debug("?Name?Name"); name = workbook.createName(); name.setNameName(config.columnName() + ""); } name.setRefersToFormula(DICCODE_SHEET_NAME + "!$" + config.columnName() + "$1:$" + config.columnName() + "$" + valueSet.size()); DVConstraint constraint = DVConstraint.createFormulaListConstraint(name.getNameName()); CellRangeAddressList addressList = new CellRangeAddressList(BaseExcelService.START_ROW, Short.MAX_VALUE, columnIndex, columnIndex); HSSFDataValidation validation = new HSSFDataValidation(addressList, constraint); workbook.setSheetHidden(workbook.getSheetIndex(DICCODE_SHEET_NAME), Workbook.SHEET_STATE_VERY_HIDDEN); setValidationTip(validation, config); sheet.addValidationData(validation); log.debug("??"); }
From source file:com.dituiba.excel.DefaultValidateAdapter.java
License:Apache License
/** * ?//from www . j a va 2 s . c o m * @param dataBean * @param sheet * @param columnIndex * @param filedName */ public void DateValidateAdapter(DataBean dataBean, Sheet sheet, int columnIndex, String filedName) { DateValidateConfig config = dataBean.getValidateConfig(filedName); DVConstraint dateConstraint = DVConstraint.createDateConstraint( DataValidationConstraint.OperatorType.BETWEEN, config.min(), config.max(), config.format()); // ??,???? CellRangeAddressList regions = new CellRangeAddressList(BaseExcelService.START_ROW, Short.MAX_VALUE, columnIndex, columnIndex); // ? DataValidation data_validation_list = new HSSFDataValidation(regions, dateConstraint); setValidationTip(data_validation_list, config); sheet.addValidationData(data_validation_list); }
From source file:com.dituiba.excel.DefaultValidateAdapter.java
License:Apache License
/** * ?/*from ww w. ja va2 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
/** * ?//from w ww .ja v a2s .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 www .jav a 2 s.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:com.globalsight.everest.qachecks.DITAQAChecker.java
License:Apache License
private void addFalsePositiveValidation(Sheet p_sheet, int startRow, int lastRow, int startColumn, int lastColumn) { // Add category failure drop down list here. DataValidationHelper dvHelper = p_sheet.getDataValidationHelper(); String[] options = { "Yes", "No" }; DataValidationConstraint dvConstraint = dvHelper.createExplicitListConstraint(options); CellRangeAddressList addressList = new CellRangeAddressList(startRow, lastRow, startColumn, lastColumn); DataValidation validation = dvHelper.createValidation(dvConstraint, addressList); validation.setSuppressDropDownArrow(true); validation.setShowErrorBox(true);/*w w w . j a va 2 s .c o m*/ p_sheet.addValidationData(validation); }