Example usage for org.apache.poi.xssf.usermodel XSSFWorkbook getNumCellStyles

List of usage examples for org.apache.poi.xssf.usermodel XSSFWorkbook getNumCellStyles

Introduction

In this page you can find the example usage for org.apache.poi.xssf.usermodel XSSFWorkbook getNumCellStyles.

Prototype

@Override
public int getNumCellStyles() 

Source Link

Document

Get the number of styles the workbook contains

Usage

From source file:egovframework.rte.fdl.excel.EgovExcelXSSFServiceTest.java

License:Apache License

/**
 * [Flow #-6]  ?  :  ? ?(?, ? )? //  w ww .jav  a 2  s. c o m
 */
@Test
public void testModifyCellAttribute() throws Exception {

    try {
        LOGGER.debug("testModifyCellAttribute start....");

        StringBuffer sb = new StringBuffer();
        sb.append(fileLocation).append("/").append("testModifyCellAttribute.xlsx");

        if (EgovFileUtil.isExistsFile(sb.toString())) {
            EgovFileUtil.delete(new File(sb.toString()));

            LOGGER.debug("Delete file....{}", sb.toString());
        }

        Workbook wbTmp = new XSSFWorkbook();
        wbTmp.createSheet();

        //  ? ?
        excelService.createWorkbook(wbTmp, sb.toString());

        //  ? 
        XSSFWorkbook wb = excelService.loadWorkbook(sb.toString(), new XSSFWorkbook());
        LOGGER.debug("testModifyCellAttribute after loadWorkbook....");

        Sheet sheet = wb.createSheet("cell test sheet2");
        sheet.setColumnWidth((short) 3, (short) 200); // column Width

        CellStyle cs = wb.createCellStyle();
        XSSFFont font = wb.createFont();
        font.setFontHeight(16);
        font.setBoldweight((short) 3);
        font.setFontName("fixedsys");

        cs.setFont(font);
        cs.setAlignment(XSSFCellStyle.ALIGN_RIGHT); // cell 
        cs.setWrapText(true);

        for (int i = 0; i < 100; i++) {
            Row row = sheet.createRow(i);
            row.setHeight((short) 300); // row? height 

            for (int j = 0; j < 5; j++) {
                Cell cell = row.createCell(j);
                cell.setCellValue(new XSSFRichTextString("row " + i + ", cell " + j));
                cell.setCellStyle(cs);
            }
        }

        //  ? 
        FileOutputStream out = new FileOutputStream(sb.toString());
        wb.write(out);
        out.close();

        //////////////////////////////////////////////////////////////////////////
        // ?
        XSSFWorkbook wbT = excelService.loadWorkbook(sb.toString(), new XSSFWorkbook());
        Sheet sheetT = wbT.getSheet("cell test sheet2");
        LOGGER.debug("getNumCellStyles : {}", wbT.getNumCellStyles());

        XSSFCellStyle cs1 = (XSSFCellStyle) wbT.getCellStyleAt((short) (wbT.getNumCellStyles() - 1));

        XSSFFont fontT = cs1.getFont();
        LOGGER.debug("font getFontHeight : {}", fontT.getFontHeight());
        LOGGER.debug("font getBoldweight : {}", fontT.getBoldweight());
        LOGGER.debug("font getFontName : {}", fontT.getFontName());
        LOGGER.debug("getAlignment : {}", cs1.getAlignment());
        LOGGER.debug("getWrapText : {}", cs1.getWrapText());

        for (int i = 0; i < 100; i++) {
            Row row1 = sheetT.getRow(i);
            for (int j = 0; j < 5; j++) {
                Cell cell1 = row1.getCell(j);
                LOGGER.debug("row {}, cell {} : {}", i, j, cell1.getRichStringCellValue());
                assertEquals(320, fontT.getFontHeight());
                assertEquals(400, fontT.getBoldweight());
                LOGGER.debug("fontT.getBoldweight()? ? 400? ?");

                assertEquals(XSSFCellStyle.ALIGN_RIGHT, cs1.getAlignment());
                assertTrue(cs1.getWrapText());
            }
        }

    } catch (Exception e) {
        LOGGER.error(e.toString());
        throw new Exception(e);
    } finally {
        LOGGER.debug("testModifyCellAttribute end....");
    }
}

From source file:uk.co.spudsoft.birt.emitters.excel.tests.BigCrosstabTest.java

License:Open Source License

@Test
public void testXlsx() throws Exception {

    InputStream inputStream = runAndRenderReport("BigCrosstab.rptdesign", "xlsx");
    assertNotNull(inputStream);// w w  w  .  ja v a 2 s . c  o  m
    try {

        XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
        assertNotNull(workbook);

        assertEquals(1, workbook.getNumberOfSheets());
        assertEquals(13, workbook.getNumCellStyles());
        assertEquals("Big Crosstab Report 1", workbook.getSheetAt(0).getSheetName());

        assertEquals(60, workbook.getSheetAt(0).getRow(1).getCell(2).getCellStyle().getRotation());
        assertEquals(60, workbook.getSheetAt(0).getRow(2).getCell(2).getCellStyle().getRotation());
        assertEquals(60, workbook.getSheetAt(0).getRow(2).getCell(3).getCellStyle().getRotation());
        assertEquals(0, workbook.getSheetAt(0).getRow(3).getCell(2).getCellStyle().getRotation());

        assertTrue(runTime - startTime < 4500L);
        assertTrue(renderTime - runTime < 4000L);

        Sheet sheet = workbook.getSheetAt(0);
        assertEquals(236, firstNullRow(sheet));

        assertEquals(28, greatestNumColumns(sheet));

    } finally {
        inputStream.close();
    }
}

From source file:uk.co.spudsoft.birt.emitters.excel.tests.Issue87PrintSettings.java

License:Open Source License

@Test
public void testPrintPagesXlsx() throws Exception {

    scale = false;/*ww w . java 2  s .  c o m*/
    InputStream inputStream = runAndRenderReport("BigCrosstab.rptdesign", "xlsx");
    assertNotNull(inputStream);
    try {

        XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
        assertNotNull(workbook);

        assertEquals(1, workbook.getNumberOfSheets());
        assertEquals(13, workbook.getNumCellStyles());
        assertEquals("Big Crosstab Report 1", workbook.getSheetAt(0).getSheetName());

        assertEquals(2, workbook.getSheetAt(0).getPrintSetup().getFitWidth());
        assertEquals(3, workbook.getSheetAt(0).getPrintSetup().getFitHeight());
        assertEquals(true, workbook.getSheetAt(0).getAutobreaks());

        assertEquals(60, workbook.getSheetAt(0).getRow(1).getCell(2).getCellStyle().getRotation());
        assertEquals(60, workbook.getSheetAt(0).getRow(2).getCell(2).getCellStyle().getRotation());
        assertEquals(60, workbook.getSheetAt(0).getRow(2).getCell(3).getCellStyle().getRotation());
        assertEquals(0, workbook.getSheetAt(0).getRow(3).getCell(2).getCellStyle().getRotation());

        assertTrue(runTime - startTime < 4500L);
        assertTrue(renderTime - runTime < 4000L);

        Sheet sheet = workbook.getSheetAt(0);
        assertEquals(236, firstNullRow(sheet));

        assertEquals(28, greatestNumColumns(sheet));

    } finally {
        inputStream.close();
    }
}

From source file:uk.co.spudsoft.birt.emitters.excel.tests.Issue87PrintSettings.java

License:Open Source License

@Test
public void testPrintScaleXlsx() throws Exception {

    scale = true;/*from   w w  w.  j  a va2 s . c  o m*/
    InputStream inputStream = runAndRenderReport("BigCrosstab.rptdesign", "xlsx");
    assertNotNull(inputStream);
    try {

        XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
        assertNotNull(workbook);

        assertEquals(1, workbook.getNumberOfSheets());
        assertEquals(13, workbook.getNumCellStyles());
        assertEquals("Big Crosstab Report 1", workbook.getSheetAt(0).getSheetName());

        assertEquals(27, workbook.getSheetAt(0).getPrintSetup().getScale());
        //I don't know why, but this is returning true and the output is still good
        //assertEquals( false, workbook.getSheetAt(0).getAutobreaks() );

        assertEquals(60, workbook.getSheetAt(0).getRow(1).getCell(2).getCellStyle().getRotation());
        assertEquals(60, workbook.getSheetAt(0).getRow(2).getCell(2).getCellStyle().getRotation());
        assertEquals(60, workbook.getSheetAt(0).getRow(2).getCell(3).getCellStyle().getRotation());
        assertEquals(0, workbook.getSheetAt(0).getRow(3).getCell(2).getCellStyle().getRotation());

        assertTrue(runTime - startTime < 4500L);
        assertTrue(renderTime - runTime < 4000L);

        Sheet sheet = workbook.getSheetAt(0);
        assertEquals(236, firstNullRow(sheet));

        assertEquals(28, greatestNumColumns(sheet));

    } finally {
        inputStream.close();
    }
}