Dim Conn As OleDbConnection, Adpt As OleDbDataAdapter
        Dim Ds As DataSet
        Dim Table1 As DataTable
        Conn = New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = C:\book1.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'")
        Conn.Open()
        Adpt = New OleDbDataAdapter("select * from [11.15$]", Conn)
        Ds = New DataSet
        Adpt.Fill(Ds)        MyGrid.DataSource = Ds
        MyGrid.DataBind()当我执行上面的代码时,会出现如下错误:
Microsoft Jet 数据库引擎打不开文件''。 它已经被别的用户以独占方式打开,或没有查看数据的权限。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件''。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
请教各位高人,这该怎么解决啊?

解决方案 »

  1.   

    这是个常见的问题,我也遇到过,最简单的办法。找到你的Excel,右键属性--〉安全,把里面的everyone的所有权限都选中就可以了。
      

  2.   

    Dim Conn As OleDbConnection, Adpt As OleDbDataAdapter
            Dim Ds As DataSet
            Dim Table1 As DataTable
            Conn = New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = C:\book1.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'")
            Conn.Open()
            Adpt = New OleDbDataAdapter("select * from [11.15$]", Conn)
            Ds = New DataSet
            Adpt.Fill(Ds)        MyGrid.DataSource = Ds
            MyGrid.DataBind()
            Conn.Close();//不关闭连接下次就打开不了,另外也不要同时用excel打开文件 
         
      

  3.   

    HDR=Yes;IMEX=1'这两个是什么意思?
      

  4.   

    "HDR=Yes;" indicates that the first row contains columnnames, not data
    "IMEX=1;" tells the driver to always read "intermixed" data columns as text