如题;需要读取的excel文档是受保护的并且读取的是隐藏的工作表,
除了com组件我找不到其他方式读取到数据。
但又不想在服务器安装excel。
不知道这有没什么方法解决。服务器是2003的

解决方案 »

  1.   

    未安装office,通过XML操作
    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
     using(OleDbConnection OleConn = new OleDbConnection(strConn))
    {
      OleConn.Open();
      String sql = "SELECT * FROM [Sheet1$]";
      OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
      DataSet ds= new DataSet();
      OleDaExcel.Fill(ds);
      OleConn.Close();
    }
    读取
      

  2.   

    excel表可以通过数据库方式打开,不同的就是连接字符串,每个sheet相当于一个表
      

  3.   


    用oledb会提示 无法解密文件 
    并且我需要读取的工作表是隐藏的 用oledb是读取不到的~
      

  4.   

    未安装excel当然不能通过excel.dll访问了,只能通过数据库连接来访问了给你个例子,不知道是否有参考价值。
    我写的一个小例子,能够读取excel和遍历excel表:
    http://download.csdn.net/source/3034170没有安装excel的话,运行可能出错,你把数据源修改一下就行了呵呵
      

  5.   


    泪奔~难道真的要安装excel~
    谢谢你的例子~不过符合我的需要~
    oledb读取隐藏的工作表会报错~ 
      

  6.   

    为啥要弄隐藏的工作表呢?呵呵。我找个没安装excel的机子测试一下
      

  7.   

    没装excel  必须报错  要不微软拿什么挣钱啊
      

  8.   

    你使用這個就可以http://ufo-crackerx.blog.163.com/網站my blog