C#读取Excel
代码
public static DataTable GetSigleTableFromExcel(String fileName, String tableName)
{
DataSet ds = new DataSet();
string strConn = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES; IMEX=1'", fileName);
string selString = string.Format("select * from [{0}$]", tableName);
OleDbDataAdapter oada = new OleDbDataAdapter(selString, strConn);
oada.Fill(ds);
return ds.Tables[0];
}
Provider=Microsoft.Jet.OLEDB.4.0;;//衔接驱动
Data Source=" + savePath + "; // 数据库地址
Extended Properties='Excel 8.0; // 衔接的是Excel8.0
HDR=YES;// 有两个值:YES/NO,表示第一行能否字段名,默许是YES,第一行是字段名
IMEX=1;//处理数字与字符混合时,辨认不正常的状况。
今天在读取一份Excel文档,发现若单元格中为数字,读入DataTable时,竟然为空。一开始以为是Excel列格式问题,于是将含数字的列置为文本,问题还是没有解决。于是上网杳原因,竟然是连接串的配置问题,在连接串后加上“HDR=YES;IMEX=1;“便解决了。