C# 从同一解决方案中的Winform项目访问excel项目

C# 从同一解决方案中的Winform项目访问excel项目,c#,excel,solution,C#,Excel,Solution,我正在尝试从Winform应用程序在解决方案中打开excel项目。请注意: Winform是我的开始项目 我可以在Excel中添加Winform引用,但我不能在Winform项目中添加Excel引用 正如我提到的,我在Winform项目的解决方案中找不到Excel项目。我也不能手动添加它(无效的dll或COM文件错误!)。 有什么想法吗?要打开excel,您可以使用以下方法: Process.Start("excel.exe"); // or the real path of excel 要

我正在尝试从Winform应用程序在解决方案中打开excel项目。请注意:

  • Winform是我的开始项目
  • 可以在Excel中添加Winform引用,但我不能在Winform项目中添加Excel引用
  • 正如我提到的,我在Winform项目的解决方案中找不到Excel项目。我也不能手动添加它(无效的dll或COM文件错误!)。
    有什么想法吗?

    要打开excel,您可以使用以下方法:

    Process.Start("excel.exe"); // or the real path of excel
    
    要使用某个工作表打开它,可以将文件路径作为参数传递:

    Process.Start("excel.exe \"c:\My Folder\book1.xlsx\"");
    

    我想我并没有真正理解你的意思,但如果你需要在应用程序中单击一下打开excel文件 并且您不想写入excel文件的路径(可能是因为您希望应用程序可移植) 所以答案是1-将excel文件放在项目文件夹中的任何位置 2-添加现有项(.filter)并选择excel文件 3-更改excel文件的属性 构建操作:资源 复制到输出目录:始终复制 4-打开解决方案的属性,然后单击资源并拖放文件 5-使用(使用system.reflection&使用system.io&使用system.resources) 然后像这样编写代码

    string sPath = Path.GetTempFileName();
    
    
        File.WriteAllBytes(sPath, Properties.Resources.excel File name here);
    

    然后将其(spath)用作路径,这样您就可以更改项目位置,其中包含excel文件,并且它仍然可以工作,而无需为其编写固定路径

    只是为了澄清-您正在寻找的是一个工作库,可以使用托管对象通过代码与excel一起工作?顺便说一下,颜色主题很棒。@YoryeNathan:我想通过单击win form应用程序中的按钮打开excel项目。如果你双击桌面上的图标会很简单吗?@YoryeNathan:就像Application.Run(EXCEL工作表)一样,我怀疑在
    应用程序的上下文中使用
    EXCEL工作表时,我们会期待同样的事情。Run
    。。。你想让Excel真正打开项目吗?我的Excel文件在另一个项目中,我想从项目而不是静态路径调用它。这是你建议的另一个链接,但它不是我需要的。看看这个:您可以使用
    应用程序.ExecutablePath
    来获取作为项目启动的exe的路径,并从中构建一个“静态”路径。