我对日期时间格式有问题。 单元格具有以下数字格式"[$-F800]dddd\,\ mmmm\ dd\,\ yyyy",但它不被识别为 DateTime。
if (cells.Value is DateTime){ var dateTime = DateTime.Parse(cells.Value.ToString()); }
如何获取单元格的数据类型?
此致敬意
不要使用Value
,使用Text
:
using (var package = new ExcelPackage())
{
var worksheet = package.Workbook.Worksheets.Add("Sheet 1");
worksheet.Cells[1, 1].Value = "12/31/2018"; // en-US culture
worksheet.Cells[1, 2].Value = "31.12.2018"; // de-CH culture
// For current culture
DateTime a = DateTime.Parse(worksheet.Cells[1, 1].Text);
// For culture other than the current one
DateTime b = DateTime.Parse(worksheet.Cells[1, 2].Text, new CultureInfo("de-CH"));
}
a
和b
的值均为12/31/2018 12:00:00 AM
。
(CultureInfo 位于 System.Globalization 命名空间中(。