使用Windows系统上的默认应用程序打开Excel文件

以编程方式创buildExcel文件( *.xlsx )后,我想使用*.xlsx文件的默认系统应用程序打开它。

问题是,

  1. 获取该默认应用程序,无论是Microsoft Office Excel还是可以打开*.xlsx文件的第三方软件。 考虑到,通常用户可以设置默认应用程序来在Windows(版本7,8或8.1)中打开特定的文件,
  2. 现在检查应用程序是否已经在系统上运行,如果是,请使用或打开一个新的实例来打开*.xlsx文件。

这个问题也可以概括为在Windows系统中使用为其设置的默认应用程序打开任何文件,并在没有任何应用程序可以在本地系统上打开该文件的情况下向用户发送消息。

使用Process.Start ,它会自动打开该文件扩展名的默认应用程序。 你会在System.Diagnosticsfind它。

 ProcessStartInfo startInfo = new ProcessStartInfo("C:\\SomePath\Test.xlsx"); Process.Start(startInfo); 

至于第二个问题,没有办法可靠地做到这一点。 如果您确定默认应用程序是Excel,则可以使用Interop库通过COM来完成此操作,但无法确定替代默认应用程序是否支持该操作(或任何其他互操作方式)。

你不能只使用Process.Start(myFile.xlsx) ? 它基本上只是试图告诉Windows决定如何处理它。

编辑; 呃,打了几秒钟。 他的回答更有帮助!