Это мои первые 5 строк в моем файле XLSX:
Обратите внимание, что формат для столбца ResLastCallDate
- CustomFormat->dd/mm/yyyy hh:mm:ss
.Тем не менее, ряд 4 выглядит по-другому, чем другие.Во многом это не важно, важная часть заключается в том, что файл XLSX загружается на мою веб-страницу asp.net 4.5, где я читаю данные через EPPlus.Однако, когда я читаю столбец ResLastCallDate, я получаю сообщение об ошибке.См. Код ниже:
System.Globalization.CultureInfo provider = System.Globalization.CultureInfo.InvariantCulture;
if (!DateTime.TryParse(dr["ResLastCallDate"].ToString(),provider, System.Globalization.DateTimeStyles.AssumeLocal, out resLastCallDate))
{
Msg = Msg + string.Format("Row {0}: ResLastCallDate is not date ({1}).\n", r, dr["ResLastCallDate"].ToString());
}
...
txtDebug.Text = Msg;
Я пытался не использовать провайдера, другие DateTimeStyles, ни один из них не работал, за исключением того, что строка 4 в Excel всегда читалась правильно.Смотрите вывод:
Row 0: ResLastCallDate is not date (20/03/2018 13:58)
Row 1: ResLastCallDate is not date (20/03/2018 13:58)
Row 3: ResLastCallDate is not date (15/03/2018 20:25)
Итак, строка 2 (которая равна ClientID = 3621) работает, но другие не по причине.Я пробовал форматы General и Date в excel для этих ячеек, но до сих пор не работает.Что еще я могу сделать, чтобы решить эту проблему?Любая помощь будет принята.
РЕДАКТИРОВАТЬ: Когда я преобразую его в dr ["ResLastCallDate"]. Только ToString () (никакой провайдер я не использую), он работает на моем локальном компьютере, но когда я публикую насервер не работает (получено то же сообщение об ошибке)