Example usage for org.apache.poi.ss.util CellRangeAddress formatAsString

List of usage examples for org.apache.poi.ss.util CellRangeAddress formatAsString

Introduction

In this page you can find the example usage for org.apache.poi.ss.util CellRangeAddress formatAsString.

Prototype

public String formatAsString() 

Source Link

Usage

From source file:com.miraisolutions.xlconnect.Workbook.java

License:Open Source License

public void unmergeCells(int sheetIndex, String reference) {
    Sheet sheet = getSheet(sheetIndex);//from  w  w w.  j  a  v  a2s . c  o  m
    for (int i = 0; i < sheet.getNumMergedRegions(); i++) {
        CellRangeAddress cra = sheet.getMergedRegion(i);
        if (cra.formatAsString().equals(reference)) {
            sheet.removeMergedRegion(i);
            break;
        }
    }
}

From source file:com.vaadin.addon.spreadsheet.action.InsertTableAction.java

License:Open Source License

@Override
public boolean isApplicableForSelection(Spreadsheet spreadsheet, SelectionChangeEvent event) {
    if (!spreadsheet.getActiveSheet().getProtect() && event.getIndividualSelectedCells().size() == 0
            && event.getCellRangeAddresses().size() == 1) {
        List<CellRangeAddress> cras = event.getCellRangeAddresses();
        CellRangeAddress cra = cras.get(0);
        List<SpreadsheetTable> tablesForActiveSheet = spreadsheet.getTablesForActiveSheet();
        // check that the table doesn't contain a table that intersects with
        // the current selection
        for (SpreadsheetTable table : tablesForActiveSheet) {
            if (CellRangeUtil.intersect(cra, table.getFullTableRegion()) != CellRangeUtil.NO_INTERSECTION) {
                return false;
            }/*from w w w.ja v a  2s  .co  m*/
        }
        if (cra.getFirstRow() != cra.getLastRow()) {
            setCaption("Create Table on " + cra.formatAsString());
            return true;
        }
    }
    return false;
}

From source file:com.vaadin.addon.spreadsheet.CellSelectionManager.java

License:Open Source License

/**
 * Fires a new SelectionChangeEvent based on the internal selection state.
 */// ww w. jav  a 2 s.  c om
private void fireNewSelectionChangeEvent() {
    CellRangeAddress selectedCellMergedRegion = null;
    MergedRegion region = spreadsheet.getMergedRegionContainer().getMergedRegionStartingFrom(
            selectedCellReference.getCol() + 1, selectedCellReference.getRow() + 1);
    if (region != null) {
        selectedCellMergedRegion = new CellRangeAddress(region.row1 - 1, region.row2 - 1, region.col1 - 1,
                region.col2 - 1);
        // if the only range is the merged region, clear ranges
        if (cellRangeAddresses.size() == 1 && cellRangeAddresses.get(0).formatAsString()
                .equals(selectedCellMergedRegion.formatAsString())) {
            cellRangeAddresses.clear();
        }
    }
    if (latestSelectionEvent != null) {
        boolean changed = false;
        if (!latestSelectionEvent.getSelectedCellReference().equals(selectedCellReference)) {
            changed = true;
        }
        if (!changed) {
            if (latestSelectionEvent.getIndividualSelectedCells().size() != individualSelectedCells.size()) {
                changed = true;
            } else {
                for (CellReference cr : latestSelectionEvent.getIndividualSelectedCells()) {
                    if (!individualSelectedCells.contains(cr)) {
                        changed = true;
                        break;
                    }
                }
            }
        }
        if (!changed) {
            if (latestSelectionEvent.getCellRangeAddresses().size() != cellRangeAddresses.size()) {
                changed = true;
            } else {
                for (CellRangeAddress cra : latestSelectionEvent.getCellRangeAddresses()) {
                    if (!cellRangeAddresses.contains(cra)) {
                        changed = true;
                        break;
                    }
                }
            }
        }
        if (!changed) {
            CellRangeAddress previouSelectedCellMergedRegion = latestSelectionEvent
                    .getSelectedCellMergedRegion();
            if ((previouSelectedCellMergedRegion == null && selectedCellMergedRegion != null)
                    || (previouSelectedCellMergedRegion != null
                            && !previouSelectedCellMergedRegion.equals(selectedCellMergedRegion))) {
                changed = true;
            }
        }
        if (!changed) {
            return;
        }
    }
    ArrayList<CellReference> cellRefCopy = new ArrayList<CellReference>(individualSelectedCells);
    ArrayList<CellRangeAddress> rangeCopy = new ArrayList<CellRangeAddress>(cellRangeAddresses);
    latestSelectionEvent = new SelectionChangeEvent(spreadsheet, selectedCellReference, cellRefCopy,
            selectedCellMergedRegion, rangeCopy);

    spreadsheet.fireEvent(latestSelectionEvent);
}

From source file:com.vaadin.addon.spreadsheet.SpreadsheetHistoryManager.java

License:Open Source License

/**
 * Ensures that the correct sheet is active, as recorded in the given
 * Command.//from  w  w  w.  ja va 2  s . c o m
 * 
 * @param command
 *            Command to fetch the sheet from
 */
protected void makeSureCorrectSheetActive(Command command) {
    if (spreadsheet.getActiveSheetIndex() != command.getActiveSheetIndex()) {
        spreadsheet.setActiveSheetIndex(command.getActiveSheetIndex());
        CellRangeAddress paintedCellRange = command.getPaintedCellRange();
        CellReference selectedCellReference = command.getSelectedCellReference();
        String initialSheetSelection = paintedCellRange != null ? paintedCellRange.formatAsString()
                : selectedCellReference != null ? selectedCellReference.formatAsString() : "A1";
        spreadsheet.initialSheetSelection = initialSheetSelection;
    }
}

From source file:jp.ryoyamamoto.poiutils.Ranges.java

License:Apache License

/**
 * Converts a range to an {@link AreaReference}.
 * /*from ww w.  j a  v a  2 s  . co m*/
 * @param range
 *            the range of cells.
 * @return the reference of the area.
 */
public static AreaReference toAreaReference(CellRangeAddress range) {
    return new AreaReference(range.formatAsString());
}

From source file:org.bbreak.excella.core.util.PoiUtil.java

License:Open Source License

/**
 * ????//from   w w  w  .  j a  v  a2s. c o m
 * 
 * @param sheet 
 * @param rangeAddress 
 */
public static void clearMergedRegion(Sheet sheet, CellRangeAddress rangeAddress) {

    // ????
    Set<CellRangeAddress> clearMergedCellSet = getMergedAddress(sheet, rangeAddress);

    // ???
    SortedSet<Integer> deleteIndexs = new TreeSet<Integer>(Collections.reverseOrder());
    int fromSheetMargNums = sheet.getNumMergedRegions();
    for (int i = 0; i < fromSheetMargNums; i++) {

        CellRangeAddress mergedAddress = null;
        if (sheet instanceof XSSFSheet) {
            mergedAddress = ((XSSFSheet) sheet).getMergedRegion(i);
        } else if (sheet instanceof HSSFSheet) {
            mergedAddress = ((HSSFSheet) sheet).getMergedRegion(i);
        }

        for (CellRangeAddress address : clearMergedCellSet) {
            if (mergedAddress.formatAsString().equals(address.formatAsString())) {
                // 
                deleteIndexs.add(i);
                break;
            }
        }

    }
    for (Integer index : deleteIndexs) {
        sheet.removeMergedRegion(index);
    }
}

From source file:se.minstrel.tools.xssfbuilder.impl.FormulaBuilderImpl.java

License:Open Source License

public String sum(int rowStart, int rowEnd, int colStart, int colEnd) {
    CellRangeAddress cra = new CellRangeAddress(rowStart, rowEnd, colStart, colEnd);
    return String.format("SUM(%s)", cra.formatAsString());
}