ExcelQueryFactory.WorksheetNoHeader转换为小数

时间:2019-01-21 19:34:29

标签: c# linq-to-excel

用户正在将Excel文件上传到我的网站。它们是美元金额,我想将它们存储为小数。此外,我希望用户至少能够在Excel中使用Currency,Accounting或Number格式(或C#可以转换为小数的任何其他格式)。

我尝试过的事情:

var table = (from a in excelFile.WorksheetRangeNoHeader("B2", "B32", "Upload Template") select a[0]).ToList();


                    BenefitsUploadViewModel model = new BenefitsUploadViewModel() { ErrorList = new List<string>() };
                    Benefits b = new Benefits();
                    b.ResponseId = ResponseId;


                    bool success = Decimal.TryParse(table[0], out decimal MedicalTotal);
                    if (success)
                    {
                        b.MedicalTotal = MedicalTotal;
                    }
                    else
                    {
                        model.ErrorList.Add("Medical total cell should be formatted as Currency, Accounting, or Number.");
                    }


                    bool success1 = Decimal.TryParse(table[1].Value.ToString(), out decimal StdSicknessAccident);
                    if (success1)
                    {
                        b.StdSicknessAccident = StdSicknessAccident;
                    }
                    else
                    {
                        model.ErrorList.Add("STD, Sickness, and Accident Insurance cell should be formatted as Currency, Accounting, or Number.");
                    }



                    bool success2 = Decimal.TryParse(table[2].Value, out decimal LtdWage);
                    if (success2)
                    {
                        b.LtdWage = LtdWage;
                    }
                    else
                    {
                        model.ErrorList.Add("LTD & Wage Insurance cell should be formatted as Currency, Accounting, or Number.");
                    }

尽管在Excel中将所有这3种都格式化为数字,货币或会计格式,但这些3种都将被添加到错误列表中。

以下是一些有用的手表: enter image description here 我可以使用什么其他方法将它们转换为适合存储在数据库中的小数?

谢谢!

0 个答案:

没有答案