应该是对的吧。虽然office的保护功能很差,但是就这么直接读取就能破保护功能,应该叫做漏洞了,显然微软没有留这个漏洞。

解决方案 »

  1.   

    这个那里是bug呢 
    就和access数据库 加密一个 道理啊没具体做过
    不过应该可以像access那样 设置用户名和密码打开的.
      

  2.   

    把你的链接 加上用户和密码 试试呢
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\sample.xls;Extended Properties='Excel 9.0'; uid=yourID;pwd=yourpwd;" ;
      

  3.   

    TO:上面的代码在c:\\sample.xls没有工作薄保护的话没有问题,一旦有了工作薄保护就不行了!!不知是否是MS的BUG??你设置了保护当然就没法打开啊,要不然还怎么叫保护呢?
      

  4.   

    TO:把你的链接 加上用户和密码 试试呢
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\sample.xls;Extended Properties='Excel 9.0'; uid=yourID;pwd=yourpwd;" ;可以加uid和pwd吗?好像没有见过...
      

  5.   

    XLS文件有好几个口令:
    打开口令、修改口令、工作表口令、工作薄口令
    如果可以使用口令的话,不知如何使用?
    uid=id;pwd=password 是不行的!
      

  6.   

    string strCom = " SELECT * FROM Sale " ;<==冒似不对吧
    string strCom = " SELECT * FROM [Sale$] " ;<==如何?
      

  7.   

    想同时连接多个Excel文件的时候该怎样写连接串?
    如:
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = 'c:\\sample.xls;c:\\sample1.xls';Extended Properties='Excel 9.0'; uid=yourID;pwd=yourpwd;" ;
    或:
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =c:\\newfolder\\;Extended Properties='Excel 9.0'; uid=yourID;pwd=yourpwd;" ;