Поэтому я использую EPPlus для чтения и записи документов Excel.
Рабочий процесс
- Пользователь создает заполненный документ excel
- Открывает документ и добавляет строку
- Загружено и прочитано
Даты, которые создаются при создании документа с использованием EPPlus, отображаются правильно, когда я читаю значение обратно, но строка, которую пользователь меняет дату или добавляет, отображается как значение INT, которое я не могу использовать в качестве реального Дата.
Когда я ввожу дату 1/01/2014 и записываю ее, вывод при открытии файла показывает 41640
Я читаю его следующим образом
sheet.Cells[i, "AE".ConvertExcelColumnIndex()].Value != null
? sheet.Cells[i, "AE".ConvertExcelColumnIndex()].Value.ToString().Trim()
: string.Empty
Обновление
При экспорте файла я добавил следующие
DateTime testDate;
if (DateTime.TryParse(split[i], out testDate))
{
sheet.Cells[row, i + 1].Style.Numberformat.Format = "MM/dd/yyyy";
sheet.Cells[row, i + 1].Value = testDate.ToString("MM/dd/yyyy");
}
Также при чтении значения назад я попытался
sheet.Cells[i, "AE".ConvertExcelColumnIndex()].Style.Numberformat.Format = "MM/dd/yyy";
Я все еще получаю INT назад