Excel文件路径不起作用

时间:2013-05-21 09:24:18

标签: c# asp.net-mvc

我有这个(并且有效):

if (Sport == "Athletics")
            {
                excel_init("C:/Users/Dries Canfyn/Desktop/score/ScoretableMenAthletics.xlsx");
            }

但现在我想在项目中包含excel文件。

excel文件现在位于一个名为IO的文件夹中,该文件夹与我的类位于同一文件夹中,其中“if”所在。如何访问excel文件?我应该使用什么路径?

3 个答案:

答案 0 :(得分:0)

确定您的WorkingDirectory,然后使用相对路径 通常WorkingDirectory .exe 所在的位置,但这取决于您启动流程的方式。然后你可以使用像

这样的相对路径
if (Sport == "Athletics")
     {
         excel_init("IO/ScoretableMenAthletics.xlsx");
     }

我不知道您的excel_init内发生了什么,但请考虑MSDNProcessStartInfo.WorkingDirectory Property

当UseShellExecute属性为false时,获取或设置要启动的进程的工作目录。当UseShellExecute为true时,获取或设置包含要启动的进程的目录。

答案 1 :(得分:0)

您可以使用方法“资源文件”板轻松添加和访问项目中的文件。 这是许多可能性之一。

在项目中添加文件后。

  1. 右键单击该文件,然后单击属性
  2. 在文件属性中,将“Build Action”更改为“Embedded Resource”
  3. 并且“复制到输出目录”为“从不复制”
  4. 每次编译项目时,都会在执行期间添加并实现该文件。像这样。

    //Get the full path of the application directory "release / debug" depending on your compiler.
    string currentPath = AppDomain.CurrentDomain.BaseDirectory;
    excel_init(currentPath + @"IO\ScoretableMenAthletics.xlsx");
    

    图片“编辑构建操作”和“复制到输出目录

    "":

    我希望这可以帮到你

答案 2 :(得分:0)

您可以使用Server.MapPath

string path = HttpContext.Current.Server.MapPath("~/IO/ScoretableMenAthletics.xlsx");