public override void PerformAction(object source) { if (source is SpreadView) { SpreadView spread = (SpreadView)source; SheetView sheet = spread.Sheets[spread.ActiveSheetIndex]; CellRange cr = sheet.GetSelection(0); StyleInfo si = new StyleInfo(); for (int r = 0; r < cr.RowCount; r++) { for (int c = 0; c < cr.ColumnCount; c++) { //sheet.Models.Style.GetCompositeInfo(cr.Row + r, cr.Column + c, -1, si); if (!si.Locked) { sheet.Cells[cr.Row + r, cr.Column + c].ResetValue(); } } } } }
public static Cell GetSelectedCell(SheetView sheet) { CellRange ran = sheet.GetSelection(0); if (ran != null) { Cell cell = null; //选中整页 if (ran.Column == -1 && ran.Row == -1 && ran.ColumnCount == -1 && ran.RowCount == -1) { cell = sheet.Cells[0, 0, sheet.RowCount - 1, sheet.ColumnCount - 1]; } //选中整行 else if (ran.Column == -1 && ran.ColumnCount == -1) { cell = sheet.Cells[ran.Row, 0, ran.RowCount + ran.Row - 1, sheet.Columns.Count - 1]; } //选中整列 else if (ran.Row == -1 && ran.RowCount == -1) { cell = sheet.Cells[0, ran.Column, sheet.Rows.Count - 1, ran.Column + ran.ColumnCount - 1]; } else { cell = sheet.Cells[ran.Row, ran.Column, ran.RowCount + ran.Row - 1, ran.Column + ran.ColumnCount - 1]; } return(cell); } return(null); }