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;“便解决了。

原文地址:https://www.cnblogs.com/BensonHe/p/1942665.html