ExcelQueryFactory.WorksheetNoHeader Преобразовать в десятичное число - PullRequest
0 голосов
/ 21 января 2019

Пользователи загружают файлы Excel на мой сайт. Это суммы в долларах, и я хотел бы хранить их как десятичные дроби. Кроме того, я хотел бы, чтобы пользователи могли использовать по крайней мере форматы валюты, учета или числа в Excel (или все, что 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.");
                    }

Все 3 из них добавляются в список ошибок, несмотря на то, что они отформатированы в Excel как число, валюта или учет.

Вот несколько полезных часов: enter image description here Какой другой метод я могу использовать, чтобы преобразовать их в десятичные числа, подходящие для хранения в моей базе данных?

Спасибо!

...