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

Relative path for a xls file in Windows Form application vb.Net

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

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

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

我建议使用以下方法,使用 Combine 将为您添加目录分隔符和 AppDomain.CurrentDomain.BaseDirectory 而不是 Application.StartUpPath 因为将代码移动到 [=22= 时它不可用] 项目。当然,下面的代码示例假定文件位于应用程序文件夹中,如果在其他位置,请告诉我们。

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)

这是一个修改后的示例,用于回答您对 "Files" 文件夹

的最后一个问题
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