[英]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.