Search in sources :

Example 16 with Name

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

the class TestHSSFWorkbook method setSheetOrderHSSF.

@Test
public void setSheetOrderHSSF() throws IOException {
    Workbook wb = new HSSFWorkbook();
    Sheet s1 = wb.createSheet("first sheet");
    Sheet s2 = wb.createSheet("other sheet");
    Name name1 = wb.createName();
    name1.setNameName("name1");
    name1.setRefersToFormula("'first sheet'!D1");
    Name name2 = wb.createName();
    name2.setNameName("name2");
    name2.setRefersToFormula("'other sheet'!C1");
    Row s1r1 = s1.createRow(2);
    Cell c1 = s1r1.createCell(3);
    c1.setCellValue(30);
    Cell c2 = s1r1.createCell(2);
    c2.setCellFormula("SUM('other sheet'!C1,'first sheet'!C1)");
    Row s2r1 = s2.createRow(0);
    Cell c3 = s2r1.createCell(1);
    c3.setCellFormula("'first sheet'!D3");
    Cell c4 = s2r1.createCell(2);
    c4.setCellFormula("'other sheet'!D3");
    // conditional formatting
    SheetConditionalFormatting sheetCF = s1.getSheetConditionalFormatting();
    ConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule(CFRuleRecord.ComparisonOperator.BETWEEN, "'first sheet'!D1", "'other sheet'!D1");
    ConditionalFormattingRule[] cfRules = { rule1 };
    CellRangeAddress[] regions = { // A3:A5
    new CellRangeAddress(2, 4, 0, 0) };
    sheetCF.addConditionalFormatting(regions, cfRules);
    wb.setSheetOrder("other sheet", 0);
    // names
    assertEquals("'first sheet'!D1", wb.getName("name1").getRefersToFormula());
    assertEquals("'other sheet'!C1", wb.getName("name2").getRefersToFormula());
    // cells
    assertEquals("SUM('other sheet'!C1,'first sheet'!C1)", c2.getCellFormula());
    assertEquals("'first sheet'!D3", c3.getCellFormula());
    assertEquals("'other sheet'!D3", c4.getCellFormula());
    // conditional formatting
    ConditionalFormatting cf = sheetCF.getConditionalFormattingAt(0);
    assertEquals("'first sheet'!D1", cf.getRule(0).getFormula1());
    assertEquals("'other sheet'!D1", cf.getRule(0).getFormula2());
    wb.close();
}
Also used : ConditionalFormatting(org.apache.poi.ss.usermodel.ConditionalFormatting) SheetConditionalFormatting(org.apache.poi.ss.usermodel.SheetConditionalFormatting) SheetConditionalFormatting(org.apache.poi.ss.usermodel.SheetConditionalFormatting) Row(org.apache.poi.ss.usermodel.Row) CellRangeAddress(org.apache.poi.ss.util.CellRangeAddress) ConditionalFormattingRule(org.apache.poi.ss.usermodel.ConditionalFormattingRule) InternalSheet(org.apache.poi.hssf.model.InternalSheet) Sheet(org.apache.poi.ss.usermodel.Sheet) Cell(org.apache.poi.ss.usermodel.Cell) InternalWorkbook(org.apache.poi.hssf.model.InternalWorkbook) Workbook(org.apache.poi.ss.usermodel.Workbook) BaseTestWorkbook(org.apache.poi.ss.usermodel.BaseTestWorkbook) Name(org.apache.poi.ss.usermodel.Name) Test(org.junit.Test)

Aggregations

Name (org.apache.poi.ss.usermodel.Name)16 Test (org.junit.Test)11 Sheet (org.apache.poi.ss.usermodel.Sheet)5 Workbook (org.apache.poi.ss.usermodel.Workbook)5 Cell (org.apache.poi.ss.usermodel.Cell)4 InternalWorkbook (org.apache.poi.hssf.model.InternalWorkbook)3 XSSFWorkbook (org.apache.poi.xssf.usermodel.XSSFWorkbook)3 InternalSheet (org.apache.poi.hssf.model.InternalSheet)2 HSSFWorkbook (org.apache.poi.hssf.usermodel.HSSFWorkbook)2 AreaPtg (org.apache.poi.ss.formula.ptg.AreaPtg)2 Ptg (org.apache.poi.ss.formula.ptg.Ptg)2 Row (org.apache.poi.ss.usermodel.Row)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 ArrayList (java.util.ArrayList)1 QName (javax.xml.namespace.QName)1 UnicodeString (org.apache.poi.hssf.record.common.UnicodeString)1 HSSFFormulaEvaluator (org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator)1 HSSFName (org.apache.poi.hssf.usermodel.HSSFName)1 HSSFRow (org.apache.poi.hssf.usermodel.HSSFRow)1