C#从项目文件夹中加载文件

时间:2017-08-16 07:48:58

标签: c# file datagridview directory

我有一个问题。我有一个代码从路径i加载xlsx放入文本框,我的代码如下所示:

const icons = [ { id: 1, src: './images/abc.png'},
{ id: 2, src: './images/def.png'} ]  // add more 

{ icons.map( (item) => { 
    <img key={item.id} src={item.src}/>
  })
}

有没有办法从项目目录中将xlsx加载到datagridview?因此,即使我切换到不同的计算机,我也不必每次都放路径。

1 个答案:

答案 0 :(得分:0)

运行应用程序时,可执行文件所在的目录将是当前目录(.\)。

调试时,可执行文件位于bin\Debug文件夹中。您的项目目录的路径为..\..\

string PathConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=..\..\" + safefilename.Text + ";Extended Properties=Excel 12.0;";

当您移动应用程序的可执行文件时,这将不起作用,..\..\仅引用目录层次结构中两层的目录。

您可能希望将xlsx文件放在与可执行文件相同的目录中,因为在移动可执行文件时更容易维护。

我首选的解决方案是将 AppData 中的xlsx文件保存在应用程序的目录中。您可以在&#34;安装&#34;应用程序。然后,您可以通过执行以下操作获取对目录的引用:

Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyApplication");

离开你:

string PathConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyApplication", safefilename.Text) + ";Extended Properties=Excel 12.0;";
相关问题