我对DateTime格式有疑问。 单元格具有以下NumberFormat“ [$ -F800] dddd \,\ mmmm \ dd \,\ yyyy”,但无法将其识别为DateTime。
if (cells.Value is DateTime){ var dateTime = DateTime.Parse(cells.Value.ToString()); }
如何获取单元格的数据类型?
最好的问候
答案 0 :(得分:0)
请勿使用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命名空间中)。