C#读取Excel代码:
01 |
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
|
02 |
OleDbConnection conn = new OleDbConnection(strConn);
|
04 |
string strExcel = "select * from [sheet1$]";
|
05 |
OleDbDataAdapter da = new OleDbDataAdapter(strExcel, strConn);
|
06 |
DataSet ds = new DataSet();
|
13 |
throw new Exception("读取Excel失败:"+ex.Message);
|
如果提示"找不到可安装的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
C#读取Excel代码:
01 |
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
|
02 |
OleDbConnection conn = new OleDbConnection(strConn);
|
04 |
string strExcel = "select * from [sheet1$]";
|
05 |
OleDbDataAdapter da = new OleDbDataAdapter(strExcel, strConn);
|
06 |
DataSet ds = new DataSet();
|
13 |
throw new Exception("读取Excel失败:"+ex.Message);
|
如果提示"找不到可安装的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