public string BetaDist(string x, string alpha, string beta, bool cumulative) { x.ThrowIfNullOrWhiteSpace(nameof(x)); alpha.ThrowIfNullOrWhiteSpace(nameof(alpha)); beta.ThrowIfNullOrWhiteSpace(nameof(beta)); string cumulativeStr = cumulative ? "TRUE" : "FALSE"; // Original formula has 6 parameters but we do not use optional parameters. string formulaName = _mapper.GetFormulaName(_excelVersion); string lastPart = _excelVersion switch { ExcelVersion.V2007 => string.Empty, ExcelVersion.V2019 => $", {cumulativeStr},", _ => throw new ArgumentOutOfRangeException( nameof(_excelVersion), _excelVersion, $"Unknown Excel version: '{_excelVersion.ToString()}'." ) }; return($"{formulaName}({x}, {alpha}, {beta}{lastPart})"); }
/// <summary> /// 获取文件名 /// </summary> /// <param name="fileName">文件名</param> /// <returns></returns> private string GetFileName(string fileName) { if (fileName.IsEmpty()) { fileName = Sheet.Title; } if (fileName.IsEmpty()) { fileName = DateTime.Now.ToDateString(); } return(fileName + "." + _version.ToString().ToLower()); }
public string GetFormulaName(ExcelVersion excelVersion, [CallerMemberName] string methodName = "") { excelVersion.ThrowIfEnumValueIsUndefined(nameof(excelVersion)); methodName.ThrowIfNullOrWhiteSpace(nameof(methodName)); if (_storage.TryGetValue((excelVersion, methodName), out string formulaName)) { return(formulaName); } string message = "Failed to find formula name for parameters:" + $"Excel version: '{excelVersion.ToString()}', method name: '{methodName}'."; throw new KeyNotFoundException(message); }