如何使用命令参数 运行 Interop.Excel.Application?

How to run Interop.Excel.Application with command arguments?

我需要将参数传递给 excel 的新实例,然后通过插件从新实例读取参数。

我想用这个结构打开新的excel应用程序:

new Microsoft.Office.Interop.Excel.Application()

有没有办法传递命令行参数,例如:

string argument = "TestArgument";
new Microsoft.Office.Interop.Excel.Application(argument);

谢谢!

如果你必须这样做(我建议尽可能快地从 Interop 运行)你 可以启动 Excel 应用程序,然后获取对它的引用。

// start Excel with your command line arguments
var pathToExcel = @"C:\Program Files\Microsoft Office\root\Office16\excel.exe";
var commandLineArguments = "/whatever";
System.Diagnostics.Process.Start(pathToExcel, commandLineArguments);

// get a reference to it
Microsoft.Office.Interop.Excel.Application app = (Microsoft.Office.Interop.Excel.Application)
    System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");

Interop 太邪恶了,我觉得回答这个问题几乎是不道德的。它为无尽的痛苦打开了大门。如果可能的话,我建议使用 EPPlus 之类的东西与 Excel 文件进行交互。