private static void Process(IRow row, HSSFFormulaEvaluator eval) { IEnumerator it = row.GetEnumerator(); while (it.MoveNext()) { ICell cell = (ICell)it.Current; if (cell.CellType != NPOI.SS.UserModel.CellType.FORMULA) { continue; } FormulaRecordAggregate record = (FormulaRecordAggregate)((HSSFCell)cell).CellValueRecord; FormulaRecord r = record.FormulaRecord; Ptg[] ptgs = r.ParsedExpression; String cellRef = new CellReference(row.RowNum, cell.ColumnIndex, false, false).FormatAsString(); #if !HIDE_UNREACHABLE_CODE if (false && cellRef.Equals("BP24")) { Console.Write(cellRef); Console.WriteLine(" - has " + ptgs.Length + " ptgs:"); for (int i = 0; i < ptgs.Length; i++) { String c = ptgs[i].GetType().ToString(); Console.WriteLine("\t" + c.Substring(c.LastIndexOf('.') + 1)); } Console.WriteLine("-> " + cell.CellFormula); } #endif NPOI.SS.UserModel.CellValue evalResult = eval.Evaluate(cell); Assert.IsNotNull(evalResult); } }
/** * @return the text format of this range using specified sheet name. */ public String FormatAsString(String sheetName, bool useAbsoluteAddress) { StringBuilder sb = new StringBuilder(); if (sheetName != null) { sb.Append(SheetNameFormatter.Format(sheetName)); sb.Append("!"); } CellReference cellRefFrom = new CellReference(FirstRow, FirstColumn, useAbsoluteAddress, useAbsoluteAddress); CellReference cellRefTo = new CellReference(LastRow, LastColumn, useAbsoluteAddress, useAbsoluteAddress); sb.Append(cellRefFrom.FormatAsString()); //for a single-cell reference return A1 instead of A1:A1 //for full-column ranges or full-row ranges return A:A instead of A, //and 1:1 instead of 1 if (!cellRefFrom.Equals(cellRefTo) || IsFullColumnRange || IsFullRowRange) { sb.Append(':'); sb.Append(cellRefTo.FormatAsString()); } return sb.ToString(); }
/** * @return the text format of this range using specified sheet name. */ public String FormatAsString(String sheetName, bool useAbsoluteAddress) { StringBuilder sb = new StringBuilder(); if (sheetName != null) { sb.Append(SheetNameFormatter.Format(sheetName)); sb.Append("!"); } CellReference cellRefFrom = new CellReference(FirstRow, FirstColumn, useAbsoluteAddress, useAbsoluteAddress); CellReference cellRefTo = new CellReference(LastRow, LastColumn, useAbsoluteAddress, useAbsoluteAddress); sb.Append(cellRefFrom.FormatAsString()); //for a single-cell reference return A1 instead of A1:A1 //for full-column ranges or full-row ranges return A:A instead of A, //and 1:1 instead of 1 if (!cellRefFrom.Equals(cellRefTo) || IsFullColumnRange || IsFullRowRange) { sb.Append(':'); sb.Append(cellRefTo.FormatAsString()); } return(sb.ToString()); }
public String FormatAsString() { StringBuilder sb = new StringBuilder(); CellReference cellRefFrom = new CellReference(FirstRow, FirstColumn); CellReference cellRefTo = new CellReference(LastRow, LastColumn); sb.Append(cellRefFrom.FormatAsString()); if (!cellRefFrom.Equals(cellRefTo)) { sb.Append(':'); sb.Append(cellRefTo.FormatAsString()); } return sb.ToString(); }
public String FormatAsString() { StringBuilder sb = new StringBuilder(); CellReference cellRefFrom = new CellReference(FirstRow, FirstColumn); CellReference cellRefTo = new CellReference(LastRow, LastColumn); sb.Append(cellRefFrom.FormatAsString()); if (!cellRefFrom.Equals(cellRefTo)) { sb.Append(':'); sb.Append(cellRefTo.FormatAsString()); } return(sb.ToString()); }