Windows窗体应用程序vb.Net中xls文件的相对路径

时间:2016-03-10 02:41:27

标签: vb.net excel relative-path

enter image description here我是VB.Net的新手,我在vb.Net中使用xls文件的相对路径。我尝试使用资源文件方法,但徒劳无功。有人可以帮助我。

我有一个VB.NET Windows窗体应用程序,我使用Excel文件作为我的数据库。在我的本地系统中,我可以通过提供完整路径来访问该文件。但是如果我必须在另一个系统上运行它,我需要一个excel文件的相对路径。

如何通过在我的VB.NET应用程序中提供相对路径来访问Excel文件?

1 个答案:

答案 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