List of usage examples for org.apache.poi.ss.util CellRangeAddress formatAsString
public String formatAsString()
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()); }