阅读Excel文件

时间:2015-03-26 10:41:40

标签: c# asp.net vb.net excel oledb

         Dim connString As String = ""
    Dim strFileType As String = Path.GetExtension(FileUpload1.FileName).ToLower()
    Dim path__1 As String = Server.MapPath(FileUpload1.PostedFile.FileName)

    If strFileType.Trim() = ".xls" Then
        connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path__1 & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=2"""
    ElseIf strFileType.Trim() = ".xlsx" Then
        connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & path__1 & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=2"""
    End If
    Dim query As String = "SELECT * FROM [Sheet1$]"
    Dim conn As New OleDbConnection(connString)
    If conn.State = ConnectionState.Closed Then
        conn.Open()
    End If
    Dim cmd As New OleDbCommand(query, conn)
    Dim da As New OleDbDataAdapter(cmd)
    Dim ds As New DataSet()
    da.Fill(ds)

    da.Dispose()
    conn.Close()
    conn.Dispose()
  

ON da.Fill(ds)发生了'System.Data.OleDb.OleDbException'类型的异常   System.Data.dll但未在用户代码中处理

     

其他信息:Microsoft Jet数据库引擎无法   找到对象'Sheet1 $'。确保对象存在并且您确定   正确拼写其名称和路径名称。

Excel File

请帮助我:(

2 个答案:

答案 0 :(得分:1)

我建议使用EPPlus库轻松阅读Excel文件。

答案 1 :(得分:0)

将xls文件放在新的c:\ Temp中,为每个人提供完全权限 这样您就可以检查它是否是权限错误。 然后将您的代码放在一个类似于try catch块的using块中。要了解更多内容,请阅读http://ryanfarley.com/blog/archive/2004/03/18/447.aspx

Using conn As New OleDbConnection(connString)
...

End Using

然后你不需要调用dispose或关闭结束使用将为你做这件事。