Excel格式[$ -10409] m-d-yyyy h:mm:ss AM / PM

时间:2016-07-25 13:46:49

标签: c# excel exceldatareader

我有一个c#应用程序,用于从MS excel文件中读取数据。 excel单元格格式为var file = new FileInfo(strFilePath); using (var stream = new FileStream(strFilePath, FileMode.Open)) { IExcelDataReader reader = null; if (file.Extension == ".xls") { reader = ExcelReaderFactory.CreateBinaryReader(stream); } else if (file.Extension == ".xlsx") { reader = ExcelReaderFactory.CreateOpenXmlReader(stream); } ds = reader.AsDataSet(); dt = ds.Tables[0]; }

enter image description here

我正在使用 NuGet 中的 ExcelDataReader 来读取excel文件中的数据。

7-1-2016 11:05:00 AM

当我读取数据时,值会更改。例如42552.4618055556已转换为$resultG = mysqli_query($db,"select * from Rubrica where ID_Dispositivo = '$UserID' "); while($row = mysqli_fetch_assoc($resultG)){ echo json_encode($row); }

有没有办法在阅读时获得正确的价值?

1 个答案:

答案 0 :(得分:0)

您看到双倍的日期是自1900-01-01以来的天数。如果你采取42552.46/365=116.58

不建议使用此方法进行翻译,因为闰年​​确实存在。您可以通过以下方式重新格式化单元格:

  1. 突出显示单元格
  2. 点击格式单元格
  3. 选择日期
  4. 选择日期可视化格式