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

你可能感兴趣的:(Excel)