我一直在尝试从Excel文件读取数据。它取得了成功,但我遇到了一个问题。每当单元格的格式,并在单元格中输入的数据不那么匹配我得到空数据从Excel读取数据
如
如果数据单元格的格式设置为日期 - dd/mm/yyyy
,且用户输入13/17/2011
,因为日期格式和输入的日期是矛盾的,所以excel给我完全空的单元格。只有在单元格格式为文本时,我才能获得输入的数据。
为什么在输入日期格式不符合单元格格式设置的情况下,excel文件会给我空单元格?
这是读取Excel数据
if(fileEXT.Equals(".xls"))
{
oledbConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../Portal_Docs/UploadDocs/"+filename+"")+";Extended Properties=Excel 8.0");
}
else if(fileEXT.Equals(".xlsx"))
{
oledbConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Server.MapPath("../Portal_Docs/UploadDocs/"+filename+"")+";Extended Properties=\"Excel 12.0;HDR=YES;\"");
}
else if(fileEXT.Equals(".xlsm"))
{
oledbConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Server.MapPath("../Portal_Docs/UploadDocs/"+filename+"")+";Extended Properties=Excel 12.0 Macro");
}
oledbConn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn);
OleDbDataAdapter oleda = new OleDbDataAdapter();
oleda.SelectCommand = cmd;
DataSet ds = new DataSet();
oleda.Fill(ds,"LocationDetails");
一些关于如何实际读取单元的代码摘录对于发现问题很有用。 – 2011-03-22 03:44:49
这是读取excel数据的代码 – Rohan 2011-03-22 03:58:54
如何访问'ds.Tables [0] .Rows [0] .Cells [0]'? – 2011-03-22 04:15:12