繁体   English   中英

日期列在C#中导入Excel时出错

[英]Date column Error while importing excel in c#

我正在将简单的excel文件读入代码中。 excel有2列:inputDate [Date]和OutputDate [Date] ..

在此处输入图片说明

导入Excel后; 第二列值未正确显示..它像42005,42006一样出现,而不是日期。. 第二列还包含假期,我需要将其作为输出

在此处输入图片说明

这是我的代码

var fileName = string.Format("D:\\HolidayMaster", Request.PhysicalApplicationPath, Guid.NewGuid().ToString().Replace("-", string.Empty));

var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data    
    source={0}; Extended Properties='Excel 8.0;;HRD=YES;IMEX=1'", fileName);

var adapter = new OleDbDataAdapter("SELECT * From     
      [Sheet1$] ", connectionString);

var adapter = new OleDbDataAdapter("SELECT * From [Sheet1$]",connectionString);  

DataSet dsExcel = new DataSet();
adapter.Fill(dsExcel, "HolidayMaster");

这仅是第二列的问题。我缺少什么?如果这不是正确的方法。 什么是获得假期和日期的正确方法

ADO.NET根据列中的大多数值选择数据类型。 这就是为什么它转换您的第二列。 就您而言,B5会使ADO.NET感到困惑

试试看(代码未经测试):

更改此行:

var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data    
source={0}; Extended Properties='Excel 8.0;HRD=YES;IMEX=1'", fileName);

至:

var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1';", fileName);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM