0

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

问题是,

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

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

4

2 回答 2

3

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

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

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

于 2013-10-08T16:42:34.033 回答
0

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

编辑; 嘿,该死的——被打败了几秒钟。他的回答更有帮助!

于 2013-10-08T16:42:59.750 回答