string strConn = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Server.MapPath("..") + "Role.xsl;Extended Properties=\"Excel 8.0;\"";
        OleDbConnection conn = new OleDbConnection(strConn);
        conn.Open();
        OleDbDataAdapter da = new OleDbDataAdapter("select * from [sheet1$]", conn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        DataTable MenuRoot = ds.Tables[0].Copy();
        conn.Close();

解决方案 »

  1.   

    是不是在team源代码管理器中运行不好用呢?如果是这样,需要修改只读属性
      

  2.   

    excel 都不是只读的
    但是根文件夹是只读的
      

  3.   

    你是否设置excel 为独占方式打开了?
      

  4.   

    你是否设置excel 为独占方式打开了?
    -----------
    怎么设置?应该没有?NTFS下
      

  5.   

    同样的语句!
    在根目录下某个a.aspx下执行 没有错误
    然后在跟目录下某文件夹下 Sys/b.aspx执行就出现如题错误
      

  6.   

    flyin2006(【墨子】vs【败家子】) ( ) 信誉:94    Blog  2007-03-27 16:00:58  得分: 0  
     
     
       你是否设置excel 为独占方式打开了?
    -----------
    怎么设置?应该没有?NTFS下
      
     
    ---------------------------------------------------------
    先打开excel
    在文件-打开那里选中你要打开的excel文件后,打开按钮旁边有个向下箭头,点击你就会发现有东西了(以只读方式打开,以副本方式打开等).
      

  7.   

    哦,对了
    你的excel文件放在根目录吗?
      

  8.   

    为什么是Copy()呢 你就指定datagrid的datasource不就可以了吗
      

  9.   

    为什么是Copy()呢 你就指定datagrid的datasource不就可以了吗
    ----------
    这不是问题
      

  10.   

    你给internet来宾账户分配权限没?
      

  11.   

    哦,对了
    你的excel文件放在根目录吗?----------
      

  12.   

    根目录下一个文件和根目录下一个文件夹下一个文件 读取excel文件的路径一致?
      

  13.   

    根目录下一个文件和根目录下一个文件夹下一个文件 读取excel文件的路径一致?
    ------------
    不是的!
    我是用这个读的!打错了!
    string strConn = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Server.MapPath("MenuSQL.xls") + ";Extended Properties=\"Excel 8.0;\"";
      

  14.   

    还是错误
    错误提示在 conn.open()那一行!
      

  15.   

    先把文件写死如Data Source=d:\\aa.xls
      

  16.   

    谢谢cpp2017(慕白兄) ( ) 信誉:100    Blog 
    是名字写错了 xls xsl
      

  17.   

    我刚才测试的时候是手动把xsl改成xls的,我以为是我写错的,没想到是copy的你的。