コード例 #1
0
        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})");
        }
コード例 #2
0
        /// <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());
        }
コード例 #3
0
        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);
        }