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 $'。确保对象存在并且您确定 正确拼写其名称和路径名称。
请帮助我:(
答案 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或关闭结束使用将为你做这件事。