Package org.apache.poi.hssf.util

Examples of org.apache.poi.hssf.util.Region


   
    row = sheet.createRow(1);
    cell = row.createCell((short)1);
    cell.setCellValue("second row, second cell");
   
    Region region = new Region(1, (short)0, 1, (short)1);    
    sheet.addMergedRegion(region);
   
    sheet.shiftRows(1, 1, 1);
   
    region = sheet.getMergedRegionAt(0);
    assertEquals("Merged region not moved over to row 2", 2, region.getRowFrom());
   
  }
View Full Code Here


    public void test22720() {
       HSSFWorkbook workBook = new HSSFWorkbook();
       workBook.createSheet("TEST");
       HSSFSheet template = workBook.getSheetAt(0);

       template.addMergedRegion(new Region(0, (short)0, 1, (short)2));
       template.addMergedRegion(new Region(1, (short)0, 2, (short)2));

       HSSFSheet clone = workBook.cloneSheet(0);
       int originalMerged = template.getNumMergedRegions();
       assertEquals("2 merged regions", 2, originalMerged);
View Full Code Here

   *
   */
  public void testRemoveMerged() {
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet();
    Region region = new Region(0, (short)0, 1, (short)1);
    sheet.addMergedRegion(region);
    region = new Region(1, (short)0, 2, (short)1);
    sheet.addMergedRegion(region);

    sheet.removeMergedRegion(0);

    region = sheet.getMergedRegionAt(0);
    assertEquals("Left over region should be starting at row 1", 1, region.getRowFrom());

    sheet.removeMergedRegion(0);

    assertEquals("there should be no merged regions left!", 0, sheet.getNumMergedRegions());

    //an, add, remove, get(0) would null pointer
    sheet.addMergedRegion(region);
    assertEquals("there should now be one merged region!", 1, sheet.getNumMergedRegions());
    sheet.removeMergedRegion(0);
    assertEquals("there should now be zero merged regions!", 0, sheet.getNumMergedRegions());
    //add it again!
    region.setRowTo(4);

    sheet.addMergedRegion(region);
    assertEquals("there should now be one merged region!", 1, sheet.getNumMergedRegions());

    //should exist now!
    assertTrue("there isn't more than one merged region in there", 1 <= sheet.getNumMergedRegions());
    region = sheet.getMergedRegionAt(0);
    assertEquals("the merged row to doesnt match the one we put in ", 4, region.getRowTo());
  }
View Full Code Here

    row = sheet.createRow(1);
    cell = row.createCell((short)1);
    cell.setCellValue(new HSSFRichTextString("second row, second cell"));

    Region region = new Region(1, (short)0, 1, (short)1);
    sheet.addMergedRegion(region);

    sheet.shiftRows(1, 1, 1);

    region = sheet.getMergedRegionAt(0);
    assertEquals("Merged region not moved over to row 2", 2, region.getRowFrom());
  }
View Full Code Here

    sheet.autoSizeColumn((short)0);
    assertTrue("Column autosized with only one row: wrong width", sheet.getColumnWidth((short)0) >= minWithRow1And2);
    assertTrue("Column autosized with only one row: wrong width", sheet.getColumnWidth((short)0) <= maxWithRow1And2);

    //create a region over the 2nd row and auto size the first column
    sheet.addMergedRegion(new Region(1,(short)0,1,(short)1));
    sheet.autoSizeColumn((short)0);
    HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb);

    // check that the autoSized column width has ignored the 2nd row
    // because it is included in a merged region (Excel like behavior)
View Full Code Here

     * @return the merged region (simple eh?)
     */

    public Region getMergedRegionAt(int index)
    {
        return new Region(sheet.getMergedRegionAt(index));
    }
View Full Code Here

     */
    protected void shiftMerged(int startRow, int endRow, int n, boolean isRow) {
        List shiftedRegions = new ArrayList();
        //move merged regions completely if they fall within the new region boundaries when they are shifted
        for (int i = 0; i < this.getNumMergedRegions(); i++) {
             Region merged = this.getMergedRegionAt(i);

             boolean inStart = (merged.getRowFrom() >= startRow || merged.getRowTo() >= startRow);
             boolean inEnd =  (merged.getRowTo() <= endRow || merged.getRowFrom() <= endRow);

             //dont check if it's not within the shifted area
             if (! (inStart && inEnd)) continue;

             //only shift if the region outside the shifted rows is not merged too
             if (!merged.contains(startRow-1, (short)0) && !merged.contains(endRow+1, (short)0)){
                 merged.setRowFrom(merged.getRowFrom()+n);
                 merged.setRowTo(merged.getRowTo()+n);
                 //have to remove/add it back
                 shiftedRegions.add(merged);
                 this.removeMergedRegion(i);
                 i = i -1; // we have to back up now since we removed one

             }

        }

        //readd so it doesn't get shifted again
        Iterator iterator = shiftedRegions.iterator();
        while (iterator.hasNext()) {
            Region region = (Region)iterator.next();

            this.addMergedRegion(region);
        }

    }
View Full Code Here

     @return HSSFCellStyle
     */
     HSSFCellStyle getCellStyleForRegion(int row, short col) {
        Iterator iregions = regions.keySet().iterator();
        while (iregions.hasNext()) {
            Region region = ((Region) iregions.next());
//            if (col == 1)
//                getLogger().debug("breakpoint support");
            if ( region.contains(row, col) ) {
                //getLogger().debug("Returning style for " + row +"," + col);
                return (HSSFCellStyle) regions.get( region );
            }
        }
        //getLogger().debug("returning null for "+row+","+col);
View Full Code Here

        Iterator iregions = regions.keySet().iterator();



        while (iregions.hasNext()) {
            Region region = ((Region) iregions.next());
            //getLogger().debug("fixing region "+region.getRowFrom()+","+region.getColumnFrom()+"-"+
            //          region.getRowTo()+","+region.getColumnTo());

            for (int rownum = region.getRowFrom(); rownum < region.getRowTo() +1; rownum++) {

                HSSFRow row  = _sheet.getRow(rownum);

                for (short colnum = region.getColumnFrom(); colnum < region.getColumnTo()+1; colnum ++) {

                    HSSFCellStyle style = (HSSFCellStyle)regions.get(region);


                    if (!isBlank(style)) { //don't waste time with huge blocks of blankly
View Full Code Here

     * @return the merged region (simple eh?)
     */

    public Region getMergedRegionAt(int index)
    {
        return new Region(sheet.getMergedRegionAt(index));
    }
View Full Code Here

TOP

Related Classes of org.apache.poi.hssf.util.Region

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.