@Test public void testZSS510() { Book book = Util.loadBook(this, "book/blank.xlsx"); Sheet sheet = book.getSheetAt(0); Range r = Ranges.range(sheet, "A1"); r.setCellEditText("Hello"); CellOperationUtil.applyDataFormat(r, ""); r.getCellFormatText(); // get text shouldn't cause IndexOutBoundaryException assertEquals( "General", r.getCellStyle().getDataFormat()); // should get General instead of empty string }
/* (non-Javadoc) * @see org.zkoss.zss.ui.sys.ua.impl.AbstractHandler#processAction(org.zkoss.zss.ui.UserActionContext) */ @Override protected boolean processAction(UserActionContext ctx) { Sheet sheet = ctx.getSheet(); AreaRef selection = ctx.getSelection(); CellSelectionType type = ctx.getSelectionType(); Range range = Ranges.range(sheet, selection); if (range.isProtected()) { showProtectMessage(); return true; } // zss-623, extends to row,column area switch (type) { case ROW: range = range.toRowRange(); break; case COLUMN: range = range.toColumnRange(); break; case ALL: // we don't allow to set whole sheet style, use column range instead range = range.toColumnRange(); } selection = new AreaRef(range.getRow(), range.getColumn(), range.getLastRow(), range.getLastColumn()); UndoableActionManager uam = ctx.getSpreadsheet().getUndoableActionManager(); uam.doAction( new CellStyleAction( Labels.getLabel("zss.undo.cellStyle"), sheet, selection.getRow(), selection.getColumn(), selection.getLastRow(), selection.getLastColumn(), CellOperationUtil.getVerticalAligmentApplier(_type))); return true; }
protected void applyAction() { Range src = Ranges.range(_sheet, _row, _column, _lastRow, _lastColumn); Range dest = Ranges.range(_destSheet, _destRow, _destColumn, _destLastRow, _destLastColumn); _pastedRange = CellOperationUtil.cut(src, dest); }