Search in sources :

Example 31 with Row

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

the class TestFormulaEvaluatorOnXSSF method processFunctionGroup.

/**
     * @param startRowIndex row index in the spreadsheet where the first function/operator is found 
     * @param testFocusFunctionName name of a single function/operator to test alone. 
     * Typically pass <code>null</code> to test all functions
     */
private static void processFunctionGroup(List<Object[]> data, int startRowIndex, String testFocusFunctionName) {
    for (int rowIndex = startRowIndex; true; rowIndex += SS.NUMBER_OF_ROWS_PER_FUNCTION) {
        Row r = sheet.getRow(rowIndex);
        // only evaluate non empty row
        if (r == null)
            continue;
        String targetFunctionName = getTargetFunctionName(r);
        assertNotNull("Test spreadsheet cell empty on row (" + (rowIndex + 1) + "). Expected function name or '" + SS.FUNCTION_NAMES_END_SENTINEL + "'", targetFunctionName);
        if (targetFunctionName.equals(SS.FUNCTION_NAMES_END_SENTINEL)) {
            // found end of functions list
            break;
        }
        if (testFocusFunctionName == null || targetFunctionName.equalsIgnoreCase(testFocusFunctionName)) {
            // expected results are on the row below
            Row expectedValuesRow = sheet.getRow(rowIndex + 1);
            // +1 for 1-based, +1 for next row
            assertNotNull("Missing expected values row for function '" + targetFunctionName + " (row " + rowIndex + 2 + ")", expectedValuesRow);
            data.add(new Object[] { targetFunctionName, rowIndex, rowIndex + 1 });
        }
    }
}
Also used : Row(org.apache.poi.ss.usermodel.Row)

Example 32 with Row

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

the class TestMultiSheetFormulaEvaluatorOnXSSF method processFunctionGroup.

/**
     * @param startRowIndex row index in the spreadsheet where the first function/operator is found
     * @param testFocusFunctionName name of a single function/operator to test alone.
     * Typically pass <code>null</code> to test all functions
     */
private static void processFunctionGroup(List<Object[]> data, int startRowIndex, String testFocusFunctionName) {
    for (int rowIndex = startRowIndex; true; rowIndex++) {
        Row r = sheet.getRow(rowIndex);
        // only evaluate non empty row
        if (r == null)
            continue;
        String targetFunctionName = getTargetFunctionName(r);
        assertNotNull("Test spreadsheet cell empty on row (" + (rowIndex + 1) + "). Expected function name or '" + SS.FUNCTION_NAMES_END_SENTINEL + "'", targetFunctionName);
        if (targetFunctionName.equals(SS.FUNCTION_NAMES_END_SENTINEL)) {
            // found end of functions list
            break;
        }
        String targetTestName = getTargetTestName(r);
        if (testFocusFunctionName == null || targetFunctionName.equalsIgnoreCase(testFocusFunctionName)) {
            // expected results are on the row below
            Cell expectedValueCell = r.getCell(SS.COLUMN_INDEX_EXPECTED_VALUE);
            assertNotNull("Missing expected values cell for function '" + targetFunctionName + ", test" + targetTestName + " (row " + rowIndex + 1 + ")", expectedValueCell);
            data.add(new Object[] { targetTestName, targetFunctionName, rowIndex });
        }
    }
}
Also used : Row(org.apache.poi.ss.usermodel.Row) Cell(org.apache.poi.ss.usermodel.Cell)

Example 33 with Row

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

the class TestSXSSFWorkbook method populateWorkbook.

private static void populateWorkbook(Workbook wb) {
    Sheet sh = wb.createSheet();
    for (int rownum = 0; rownum < 100; rownum++) {
        Row row = sh.createRow(rownum);
        for (int cellnum = 0; cellnum < 10; cellnum++) {
            Cell cell = row.createCell(cellnum);
            String address = new CellReference(cell).formatAsString();
            cell.setCellValue(address);
        }
    }
}
Also used : Row(org.apache.poi.ss.usermodel.Row) CellReference(org.apache.poi.ss.util.CellReference) Sheet(org.apache.poi.ss.usermodel.Sheet) Cell(org.apache.poi.ss.usermodel.Cell)

Example 34 with Row

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

the class TestSXSSFWorkbook method useSharedStringsTable.

@Test
public void useSharedStringsTable() throws Exception {
    SXSSFWorkbook wb = new SXSSFWorkbook(null, 10, false, true);
    SharedStringsTable sss = POITestCase.getFieldValue(SXSSFWorkbook.class, wb, SharedStringsTable.class, "_sharedStringSource");
    assertNotNull(sss);
    Row row = wb.createSheet("S1").createRow(0);
    row.createCell(0).setCellValue("A");
    row.createCell(1).setCellValue("B");
    row.createCell(2).setCellValue("A");
    XSSFWorkbook xssfWorkbook = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb);
    sss = POITestCase.getFieldValue(SXSSFWorkbook.class, wb, SharedStringsTable.class, "_sharedStringSource");
    assertEquals(2, sss.getUniqueCount());
    assertTrue(wb.dispose());
    Sheet sheet1 = xssfWorkbook.getSheetAt(0);
    assertEquals("S1", sheet1.getSheetName());
    assertEquals(1, sheet1.getPhysicalNumberOfRows());
    row = sheet1.getRow(0);
    assertNotNull(row);
    Cell cell = row.getCell(0);
    assertNotNull(cell);
    assertEquals("A", cell.getStringCellValue());
    cell = row.getCell(1);
    assertNotNull(cell);
    assertEquals("B", cell.getStringCellValue());
    cell = row.getCell(2);
    assertNotNull(cell);
    assertEquals("A", cell.getStringCellValue());
    xssfWorkbook.close();
    wb.close();
}
Also used : SharedStringsTable(org.apache.poi.xssf.model.SharedStringsTable) XSSFWorkbook(org.apache.poi.xssf.usermodel.XSSFWorkbook) Row(org.apache.poi.ss.usermodel.Row) Sheet(org.apache.poi.ss.usermodel.Sheet) Cell(org.apache.poi.ss.usermodel.Cell) Test(org.junit.Test)

Example 35 with Row

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

the class TestSXSSFWorkbook method addToExistingWorkbook.

@Test
public void addToExistingWorkbook() throws IOException {
    XSSFWorkbook xssfWb1 = new XSSFWorkbook();
    xssfWb1.createSheet("S1");
    Sheet sheet = xssfWb1.createSheet("S2");
    Row row = sheet.createRow(1);
    Cell cell = row.createCell(1);
    cell.setCellValue("value 2_1_1");
    SXSSFWorkbook wb1 = new SXSSFWorkbook(xssfWb1);
    XSSFWorkbook xssfWb2 = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb1);
    assertTrue(wb1.dispose());
    xssfWb1.close();
    SXSSFWorkbook wb2 = new SXSSFWorkbook(xssfWb2);
    // Add a row to the existing empty sheet
    Sheet sheet1 = wb2.getSheetAt(0);
    Row row1_1 = sheet1.createRow(1);
    Cell cell1_1_1 = row1_1.createCell(1);
    cell1_1_1.setCellValue("value 1_1_1");
    // Add a row to the existing non-empty sheet
    Sheet sheet2 = wb2.getSheetAt(1);
    Row row2_2 = sheet2.createRow(2);
    Cell cell2_2_1 = row2_2.createCell(1);
    cell2_2_1.setCellValue("value 2_2_1");
    // Add a sheet with one row
    Sheet sheet3 = wb2.createSheet("S3");
    Row row3_1 = sheet3.createRow(1);
    Cell cell3_1_1 = row3_1.createCell(1);
    cell3_1_1.setCellValue("value 3_1_1");
    XSSFWorkbook xssfWb3 = SXSSFITestDataProvider.instance.writeOutAndReadBack(wb2);
    wb2.close();
    assertEquals(3, xssfWb3.getNumberOfSheets());
    // Verify sheet 1
    sheet1 = xssfWb3.getSheetAt(0);
    assertEquals("S1", sheet1.getSheetName());
    assertEquals(1, sheet1.getPhysicalNumberOfRows());
    row1_1 = sheet1.getRow(1);
    assertNotNull(row1_1);
    cell1_1_1 = row1_1.getCell(1);
    assertNotNull(cell1_1_1);
    assertEquals("value 1_1_1", cell1_1_1.getStringCellValue());
    // Verify sheet 2
    sheet2 = xssfWb3.getSheetAt(1);
    assertEquals("S2", sheet2.getSheetName());
    assertEquals(2, sheet2.getPhysicalNumberOfRows());
    Row row2_1 = sheet2.getRow(1);
    assertNotNull(row2_1);
    Cell cell2_1_1 = row2_1.getCell(1);
    assertNotNull(cell2_1_1);
    assertEquals("value 2_1_1", cell2_1_1.getStringCellValue());
    row2_2 = sheet2.getRow(2);
    assertNotNull(row2_2);
    cell2_2_1 = row2_2.getCell(1);
    assertNotNull(cell2_2_1);
    assertEquals("value 2_2_1", cell2_2_1.getStringCellValue());
    // Verify sheet 3
    sheet3 = xssfWb3.getSheetAt(2);
    assertEquals("S3", sheet3.getSheetName());
    assertEquals(1, sheet3.getPhysicalNumberOfRows());
    row3_1 = sheet3.getRow(1);
    assertNotNull(row3_1);
    cell3_1_1 = row3_1.getCell(1);
    assertNotNull(cell3_1_1);
    assertEquals("value 3_1_1", cell3_1_1.getStringCellValue());
    xssfWb2.close();
    xssfWb3.close();
    wb1.close();
}
Also used : XSSFWorkbook(org.apache.poi.xssf.usermodel.XSSFWorkbook) Row(org.apache.poi.ss.usermodel.Row) Sheet(org.apache.poi.ss.usermodel.Sheet) Cell(org.apache.poi.ss.usermodel.Cell) Test(org.junit.Test)

Aggregations

Row (org.apache.poi.ss.usermodel.Row)316 Cell (org.apache.poi.ss.usermodel.Cell)230 Sheet (org.apache.poi.ss.usermodel.Sheet)179 Workbook (org.apache.poi.ss.usermodel.Workbook)125 Test (org.junit.Test)116 HSSFWorkbook (org.apache.poi.hssf.usermodel.HSSFWorkbook)55 XSSFWorkbook (org.apache.poi.xssf.usermodel.XSSFWorkbook)44 CellRangeAddress (org.apache.poi.ss.util.CellRangeAddress)35 CellStyle (org.apache.poi.ss.usermodel.CellStyle)27 CellReference (org.apache.poi.ss.util.CellReference)22 ArrayList (java.util.ArrayList)21 FileOutputStream (java.io.FileOutputStream)20 IOException (java.io.IOException)17 XSSFColor (org.apache.poi.xssf.usermodel.XSSFColor)17 XSSFFont (org.apache.poi.xssf.usermodel.XSSFFont)17 HashMap (java.util.HashMap)16 RichTextString (org.apache.poi.ss.usermodel.RichTextString)16 XSSFCellStyle (org.apache.poi.xssf.usermodel.XSSFCellStyle)16 List (java.util.List)14 FormulaEvaluator (org.apache.poi.ss.usermodel.FormulaEvaluator)14