Excel的相对path为C#

嗨,我只是有这样的问题在这里。 我正在尝试使用相对path链接到EXE文件本身的同一目录中的EXCEL文件。
当我使用

Excel.Workbook wkbook = exapp.Workbooks.Open(@".\test.xlsx"); 

我把我的exe文件在f驱动器。 事实certificate,exe文件改变了C:\ Users \\ Documents文件夹中的test.xlsx文件(并且它也以某种方式创build了test.xlsx本身)。 但是,当我使用“。\ xx.txt”或“xx.txt”时,它工作得很好。

谁能告诉我该怎么办? 谢谢。

要获得相对于当前正在执行的exe的文件path,可以使用以下命令:

 string exeDir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); Excel.Workbook wkbook = exapp.Workbooks.Open(System.IO.Path.Combine(exeDir, "test.xlsx")); 

一个解决scheme是:不要使用相对path。 以下是一些明确设置path的代码:

 var executableFolderPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); Excel.Workbook wkbook = exapp.Workbooks.Open(executableFolderPath + @"\test.xlsx");