Search in sources :

Example 6 with DataValidation

use of org.apache.poi.ss.usermodel.DataValidation in project poi by apache.

the class TestDataValidation method testGetDataValidationsAny.

@Test
public void testGetDataValidationsAny() throws Exception {
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet();
    List<HSSFDataValidation> list = sheet.getDataValidations();
    assertEquals(0, list.size());
    DataValidationHelper dataValidationHelper = sheet.getDataValidationHelper();
    DataValidationConstraint constraint = dataValidationHelper.createNumericConstraint(ValidationType.ANY, OperatorType.IGNORED, null, null);
    CellRangeAddressList addressList = new CellRangeAddressList(1, 2, 3, 4);
    DataValidation validation = dataValidationHelper.createValidation(constraint, addressList);
    validation.setEmptyCellAllowed(true);
    validation.createErrorBox("error-title", "error-text");
    validation.createPromptBox("prompt-title", "prompt-text");
    sheet.addValidationData(validation);
    // <-- works
    list = sheet.getDataValidations();
    assertEquals(1, list.size());
    HSSFDataValidation dv = list.get(0);
    {
        CellRangeAddressList regions = dv.getRegions();
        assertEquals(1, regions.countRanges());
        CellRangeAddress address = regions.getCellRangeAddress(0);
        assertEquals(1, address.getFirstRow());
        assertEquals(2, address.getLastRow());
        assertEquals(3, address.getFirstColumn());
        assertEquals(4, address.getLastColumn());
    }
    assertEquals(true, dv.getEmptyCellAllowed());
    assertEquals(false, dv.getSuppressDropDownArrow());
    assertEquals(true, dv.getShowErrorBox());
    assertEquals("error-title", dv.getErrorBoxTitle());
    assertEquals("error-text", dv.getErrorBoxText());
    assertEquals(true, dv.getShowPromptBox());
    assertEquals("prompt-title", dv.getPromptBoxTitle());
    assertEquals("prompt-text", dv.getPromptBoxText());
    DataValidationConstraint c = dv.getValidationConstraint();
    assertEquals(ValidationType.ANY, c.getValidationType());
    assertEquals(OperatorType.IGNORED, c.getOperator());
    wb.close();
}
Also used : DataValidationConstraint(org.apache.poi.ss.usermodel.DataValidationConstraint) CellRangeAddressList(org.apache.poi.ss.util.CellRangeAddressList) DataValidationHelper(org.apache.poi.ss.usermodel.DataValidationHelper) CellRangeAddress(org.apache.poi.ss.util.CellRangeAddress) DataValidation(org.apache.poi.ss.usermodel.DataValidation) BaseTestDataValidation(org.apache.poi.ss.usermodel.BaseTestDataValidation) Test(org.junit.Test)

Example 7 with DataValidation

use of org.apache.poi.ss.usermodel.DataValidation in project poi by apache.

the class TestDataValidation method testGetDataValidationsDate.

@Test
public void testGetDataValidationsDate() throws Exception {
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet();
    List<HSSFDataValidation> list = sheet.getDataValidations();
    assertEquals(0, list.size());
    DataValidationHelper dataValidationHelper = sheet.getDataValidationHelper();
    DataValidationConstraint constraint = dataValidationHelper.createDateConstraint(OperatorType.EQUAL, "2014/10/25", null, null);
    CellRangeAddressList addressList = new CellRangeAddressList(0, 0, 0, 0);
    DataValidation validation = dataValidationHelper.createValidation(constraint, addressList);
    sheet.addValidationData(validation);
    // <-- works
    list = sheet.getDataValidations();
    assertEquals(1, list.size());
    HSSFDataValidation dv = list.get(0);
    DVConstraint c = dv.getConstraint();
    assertEquals(ValidationType.DATE, c.getValidationType());
    assertEquals(OperatorType.EQUAL, c.getOperator());
    assertEquals(null, c.getFormula1());
    assertEquals(null, c.getFormula2());
    assertEquals(DateUtil.getExcelDate(DateUtil.parseYYYYMMDDDate("2014/10/25")), c.getValue1(), 0);
    assertEquals(null, c.getValue2());
    wb.close();
}
Also used : DataValidationConstraint(org.apache.poi.ss.usermodel.DataValidationConstraint) CellRangeAddressList(org.apache.poi.ss.util.CellRangeAddressList) DataValidationHelper(org.apache.poi.ss.usermodel.DataValidationHelper) DataValidation(org.apache.poi.ss.usermodel.DataValidation) BaseTestDataValidation(org.apache.poi.ss.usermodel.BaseTestDataValidation) Test(org.junit.Test)

Example 8 with DataValidation

use of org.apache.poi.ss.usermodel.DataValidation in project poi by apache.

the class TestSXSSFDataValidation method test53965.

@Test
public void test53965() throws Exception {
    SXSSFWorkbook wb = new SXSSFWorkbook();
    try {
        Sheet sheet = wb.createSheet();
        //<-- works
        List<? extends DataValidation> lst = sheet.getDataValidations();
        assertEquals(0, lst.size());
        //create the cell that will have the validation applied
        sheet.createRow(0).createCell(0);
        DataValidationHelper dataValidationHelper = sheet.getDataValidationHelper();
        DataValidationConstraint constraint = dataValidationHelper.createCustomConstraint("SUM($A$1:$A$1) <= 3500");
        CellRangeAddressList addressList = new CellRangeAddressList(0, 0, 0, 0);
        DataValidation validation = dataValidationHelper.createValidation(constraint, addressList);
        sheet.addValidationData(validation);
        // this line caused XmlValueOutOfRangeException , see Bugzilla 3965
        lst = sheet.getDataValidations();
        assertEquals(1, lst.size());
    } finally {
        wb.close();
    }
}
Also used : DataValidationConstraint(org.apache.poi.ss.usermodel.DataValidationConstraint) CellRangeAddressList(org.apache.poi.ss.util.CellRangeAddressList) DataValidationHelper(org.apache.poi.ss.usermodel.DataValidationHelper) Sheet(org.apache.poi.ss.usermodel.Sheet) DataValidation(org.apache.poi.ss.usermodel.DataValidation) BaseTestDataValidation(org.apache.poi.ss.usermodel.BaseTestDataValidation) Test(org.junit.Test)

Example 9 with DataValidation

use of org.apache.poi.ss.usermodel.DataValidation in project poi by apache.

the class TestDataValidation method testGetDataValidationsIntegerFormula.

@Test
public void testGetDataValidationsIntegerFormula() throws Exception {
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet();
    List<HSSFDataValidation> list = sheet.getDataValidations();
    assertEquals(0, list.size());
    DataValidationHelper dataValidationHelper = sheet.getDataValidationHelper();
    DataValidationConstraint constraint = dataValidationHelper.createIntegerConstraint(OperatorType.BETWEEN, "=A2", "=A3");
    CellRangeAddressList addressList = new CellRangeAddressList(0, 0, 0, 0);
    DataValidation validation = dataValidationHelper.createValidation(constraint, addressList);
    sheet.addValidationData(validation);
    // <-- works
    list = sheet.getDataValidations();
    assertEquals(1, list.size());
    HSSFDataValidation dv = list.get(0);
    DVConstraint c = dv.getConstraint();
    assertEquals(ValidationType.INTEGER, c.getValidationType());
    assertEquals(OperatorType.BETWEEN, c.getOperator());
    assertEquals("A2", c.getFormula1());
    assertEquals("A3", c.getFormula2());
    assertEquals(null, c.getValue1());
    assertEquals(null, c.getValue2());
    wb.close();
}
Also used : DataValidationConstraint(org.apache.poi.ss.usermodel.DataValidationConstraint) CellRangeAddressList(org.apache.poi.ss.util.CellRangeAddressList) DataValidationHelper(org.apache.poi.ss.usermodel.DataValidationHelper) DataValidation(org.apache.poi.ss.usermodel.DataValidation) BaseTestDataValidation(org.apache.poi.ss.usermodel.BaseTestDataValidation) Test(org.junit.Test)

Example 10 with DataValidation

use of org.apache.poi.ss.usermodel.DataValidation in project poi by apache.

the class TestDataValidation method testGetDataValidationsListExplicit.

@Test
public void testGetDataValidationsListExplicit() throws Exception {
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet();
    List<HSSFDataValidation> list = sheet.getDataValidations();
    assertEquals(0, list.size());
    DataValidationHelper dataValidationHelper = sheet.getDataValidationHelper();
    DataValidationConstraint constraint = dataValidationHelper.createExplicitListConstraint(new String[] { "aaa", "bbb", "ccc" });
    CellRangeAddressList addressList = new CellRangeAddressList(0, 0, 0, 0);
    DataValidation validation = dataValidationHelper.createValidation(constraint, addressList);
    validation.setSuppressDropDownArrow(true);
    sheet.addValidationData(validation);
    // <-- works
    list = sheet.getDataValidations();
    assertEquals(1, list.size());
    HSSFDataValidation dv = list.get(0);
    assertEquals(true, dv.getSuppressDropDownArrow());
    DVConstraint c = dv.getConstraint();
    assertEquals(ValidationType.LIST, c.getValidationType());
    assertEquals(null, c.getFormula1());
    assertEquals(null, c.getFormula2());
    assertEquals(null, c.getValue1());
    assertEquals(null, c.getValue2());
    String[] values = c.getExplicitListValues();
    assertEquals(3, values.length);
    assertEquals("aaa", values[0]);
    assertEquals("bbb", values[1]);
    assertEquals("ccc", values[2]);
    wb.close();
}
Also used : DataValidationConstraint(org.apache.poi.ss.usermodel.DataValidationConstraint) CellRangeAddressList(org.apache.poi.ss.util.CellRangeAddressList) DataValidationHelper(org.apache.poi.ss.usermodel.DataValidationHelper) DataValidation(org.apache.poi.ss.usermodel.DataValidation) BaseTestDataValidation(org.apache.poi.ss.usermodel.BaseTestDataValidation) Test(org.junit.Test)

Aggregations

DataValidation (org.apache.poi.ss.usermodel.DataValidation)13 CellRangeAddressList (org.apache.poi.ss.util.CellRangeAddressList)13 BaseTestDataValidation (org.apache.poi.ss.usermodel.BaseTestDataValidation)12 DataValidationConstraint (org.apache.poi.ss.usermodel.DataValidationConstraint)12 DataValidationHelper (org.apache.poi.ss.usermodel.DataValidationHelper)12 Test (org.junit.Test)12 Sheet (org.apache.poi.ss.usermodel.Sheet)4 CellRangeAddress (org.apache.poi.ss.util.CellRangeAddress)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 BigDecimal (java.math.BigDecimal)1 Cell (org.apache.poi.ss.usermodel.Cell)1 Row (org.apache.poi.ss.usermodel.Row)1 CellRangeAddressBase (org.apache.poi.ss.util.CellRangeAddressBase)1 CellReference (org.apache.poi.ss.util.CellReference)1