Пользователи загружают файлы 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 как число, валюта или учет.
Вот несколько полезных часов:
Какой другой метод я могу использовать, чтобы преобразовать их в десятичные числа, подходящие для хранения в моей базе данных?
Спасибо!