/** * Builds new numeric cache Container. * @param marker data marker to use for cache Evaluation * @param ctNumRef parent number reference * @return numeric cache instance */ internal static XSSFNumberCache BuildCache(DataMarker marker, CT_NumRef ctNumRef) { CellRangeAddress range = marker.Range; int numOfPoints = range.NumberOfCells; if (numOfPoints == 0) { // Nothing to do. return null; } XSSFNumberCache cache = new XSSFNumberCache(ctNumRef.AddNewNumCache()); cache.SetPointCount(numOfPoints); IWorkbook wb = marker.Sheet.Workbook; IFormulaEvaluator Evaluator = wb.GetCreationHelper().CreateFormulaEvaluator(); CellWalk cellWalk = new CellWalk(marker); NumCacheCellHandler numCacheHandler = new NumCacheCellHandler(Evaluator, cache.ctNumData); cellWalk.Traverse(numCacheHandler); return cache; }
/** * Builds new numeric cache Container. * @param marker data marker to use for cache Evaluation * @param ctNumRef parent number reference * @return numeric cache instance */ internal static XSSFNumberCache BuildCache(DataMarker marker, CT_NumRef ctNumRef) { CellRangeAddress range = marker.Range; int numOfPoints = range.NumberOfCells; if (numOfPoints == 0) { // Nothing to do. return(null); } XSSFNumberCache cache = new XSSFNumberCache(ctNumRef.AddNewNumCache()); cache.SetPointCount(numOfPoints); IWorkbook wb = marker.Sheet.Workbook; IFormulaEvaluator Evaluator = wb.GetCreationHelper().CreateFormulaEvaluator(); CellWalk cellWalk = new CellWalk(marker); NumCacheCellHandler numCacheHandler = new NumCacheCellHandler(Evaluator, cache.ctNumData); cellWalk.Traverse(numCacheHandler); return(cache); }