Exemplo n.º 1
0
 public void EvaluateRow(IRow row, LiquidLoop loop)
 {
     foreach (var cell in row.Cells)
     {
         var cellValue         = GetStringCellValue(cell);
         var cellOriginalValue = cellValue;
         foreach (var liquidObject in LiquidHelper.GetLiquidObjects(cellValue))
         {
             var objectName = LiquidHelper.UnwrapLiquidObject(liquidObject);
             // strip loop variable name
             objectName = Regex.Replace(objectName, @"^" + loop.VariableName + @"\.", "");
             var value = Binder.Eval(objectName, loop.CollectionName, loop.Index);
             if (value != null)
             {
                 cellValue = cellValue.Replace(liquidObject, value);
             }
         }
         if (cellValue != cellOriginalValue)
         {
             cell.SetCellValue(cellValue);
         }
     }
 }