enter image description here我是VB.Net的新手,我在vb.Net中使用xls文件的相对路径。我尝试使用资源文件方法,但徒劳无功。有人可以帮助我。
我有一个VB.NET Windows窗体应用程序,我使用Excel文件作为我的数据库。在我的本地系统中,我可以通过提供完整路径来访问该文件。但是如果我必须在另一个系统上运行它,我需要一个excel文件的相对路径。
如何通过在我的VB.NET应用程序中提供相对路径来访问Excel文件?
答案 0 :(得分:0)
我建议使用以下方法,使用Combine将为您和AppDomain.CurrentDomain.BaseDirectory而不是Application.StartUpPath添加目录分隔符,因为在将代码移动到类项目时它不可用。当然,下面的代码示例假定文件位于app文件夹中,如果在另一个位置让我们知道。
Dim fileName As String = IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "MyFileName.xls")
If IO.File.Exists(fileName) Then
' do work
End If
实施例
Dim Builder As New OleDbConnectionStringBuilder
Builder.Provider = "Microsoft.Jet.OLEDB.4.0"
Builder.Add("Extended Properties", "Excel 8.0;IMEX=1;HDR=Yes;")
Builder.DataSource = IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Explanaation_notes.xls")
Dim con As New OleDbConnection(Builder.ConnectionString)
这是一个修改过的示例,与您的上一个问题一起使用"文件"夹
Dim fileName As String = IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Explanaation_notes.xls")
If IO.File.Exists(fileName) Then
Dim Builder As New OleDbConnectionStringBuilder
Builder.Provider = "Microsoft.Jet.OLEDB.4.0"
Builder.Add("Extended Properties", "Excel 8.0;IMEX=1;HDR=Yes;")
Builder.DataSource = fileName
Dim con As New OleDbConnection(Builder.ConnectionString)
End If