用OleDbConnection打开Excel

前一段时间做了一个打开Excel的,代码如下:

 1  OleDbConnection conn  =   null ;
 2  OleDbDataAdapter myCommand  =   null ;
 3 
 4  string  connectString2003  =   string .Format( " provider = microsoft.jet.oledb.4.0;data source={0};Extended Properties='Excel 8.0;HDR=No;IMEX=1' " , filePath);
 5  string  connectString2007  =   string .Format( " provider = microsoft.ace.oledb.12.0;data source={0};Extended Properties='Excel 12.0;HDR=No;IMEX=1' " , filePath);
 6 
 7  if  (filePath.ToLower().Contains( " .xlsx " ))
 8  conn  =   new  OleDbConnection(connectString2007);
 9  else
10  conn  =   new  OleDbConnection(connectString2003);
11 
12  DataTable dt  =   new  DataTable();
13  string  strExcel  =   string .Format( " select {0} from [ "   +  WorksheetName  +   " $] " , ColumnsName);
14  conn.Open();
15  myCommand  =   new  OleDbDataAdapter(strExcel, conn);
16  myCommand.Fill(dt);

 

 Note:WorksheetName是要打开的Excel文件里的sheet名, ColumnsName是"F1,F2,F3..."

 

如果Workbook是有密码保护的,用上述方法是打不开的,可以用Microsoft.Office.Interop.Excel.dll打开; 如果Worksheet是有密码保护的,上述方法依然可以打开。

 

转载于:https://www.cnblogs.com/Alexander_2009/archive/2010/05/17/1737378.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值