using System; using System.Collections.Generic; using System.Linq; using System.Text; using OfficeOpenXml.FormulaParsing.ExpressionGraph; namespace OfficeOpenXml.FormulaParsing.Excel.Functions.Math { public class Rand : ExcelFunction { private static int Seed { get; set; } public override CompileResult Execute(IEnumerable arguments, ParsingContext context) { Seed = Seed > 50 ? 0 : Seed + 5; var val = new Random(System.DateTime.Now.Millisecond + Seed).NextDouble(); return CreateResult(val, DataType.Decimal); } } }