[英]How to get directory of an xls file C#
我需要制作一个程序来读取 excel 的列。 但是为此,我需要获取此 excel 的路径(目录)。 阻止我这样做的原因是我不想固定本地目录,因为如果有人在另一台机器上下载文件,他们将需要更改路径。
你有两个选择:
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
获取应用程序目录的相对路径。还有其他方法,但我相信这些是最简单和最容易做到的。
您问如何获取 xls 文件 C# 的目录。
正如其他人指出的那样,该文件需要位于已知位置,一种方法是将 Excel 文件添加到您的解决方案中并将其标记为Content
,指定应将其复制到输出目录。 下图显示了如何设置这些属性。
当您为其他用户部署应用程序时,您似乎也在寻找一种可靠的方法来实现这一点。 为此,您将需要一种策略来制作 .msi 或 .msix,以便将此文件放置在需要的位置。 但是要回答您的基本问题,您可以通过这种方式获得在这种情况下的路径。 此代码将获取路径并打开 Excel 文件。
// Get the path and open the Excel file
static void Main(string[] args)
{
var path =
Path.Combine(
Path.GetDirectoryName(Assembly.GetEntryAssembly().Location),
"Microsoft Excel Worksheet.xlsx");
Console.WriteLine(path);
System.Diagnostics.Process.Start("explorer.exe", path);
}
我应该提到执行目录中的文件可以读取但不能写入(没有提升的权限)。 如果文件是用户数据,请参考使用环境变量的答案:
var appdata = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
如果您只需要动态获取同一项目目录中文件的路径,那么以下代码对我有用 -
string filePath = Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + "\\excel\\Prices.xlsx";
其中“\excel”是我项目中的文件夹,“\Prices.xlsx”是项目中的文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.