导入Excel表时,提示"找不到可安装的ISAM"

C#读取Excel代码:

01 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";//不能是11.0
02             OleDbConnection conn = new OleDbConnection(strConn);
03             conn.Open();
04             string strExcel = "select * from [sheet1$]";
05             OleDbDataAdapter da = new OleDbDataAdapter(strExcel, strConn);
06             DataSet ds = new DataSet();
07             try
08             {
09                 da.Fill(ds);
10             }
11             catch (Exception ex)
12             {
13                 throw new Exception("读取Excel失败:"+ex.Message);
14             }
15             return ds;
如果提示"找不到可安装的ISAM",通过google,有两个解决办法:

1.连接字符串问题

1 Extended Properties='Excel 8.0;HDR=NO;IMEX=1'

//HDR表示要把第一行作为数据还是作为列名,作为数据用HDR=no,作为列名用HDR=yes;通过Imex=1来把混合型作为文本型读取,避免 null值。

上句的左右两个单引号不能少

 

2.只需注册 Excel ISAM即可

  在“运行”对话框中输入回车即可:Regsvr32 c:\WINDOWS\system32\msexcl40.dll

posted on 2011-08-27 10:08  阿米  阅读(872)  评论(0编辑  收藏  举报