打开Excel xlsx文件进行查看

我需要打开一个xlsx文件,以便用户可以看到它。
我用下面的代码,但不能显示Excel文件:

public ActionResult GetExcelReport() { string fileName = "Sheet1.xlsx"; string path = Path.Combine(@"C:\Test", fileName); return File(path, "application/xlsx"); } 

我希望retrun File(path ...
实际上会打开文件进行查看。

尝试使用Microsoft.Office.Interop.Excel和:

 Application excel = new Application(); Workbook wb = excel.Workbooks.Open(path); excel.Visible=true; 

顺便说一句,你也可以using System.Diagnostics; ,和

 Process.Start(path); 

您只需通过使用File打开一个文件stream,它不会Launch一个文件。

要扩展bhuang3的答案:如果你希望你的用户能够看到Excel电子表格,然后让你的应用程序做一些事情,那么我会使用Interop的答案,因为你的应用程序可以保持执行操作的引用。

你可以打开它

 Excel.Application xlApp = new Excel.Application(); Excel.Workbooks xlWBs = xlApp.Workbooks; Excel.Workbook xlWB = xlWBs.Open(path); xlApp.Visible = true; 

完成之后,您应该closures工作簿并退出应用程序,以防止Excel在内存中无处不在(当用户在其计算机上打开另一个电子表格时,可能会产生一些非常奇怪的副作用)

 xlWB.Close(); xlWB = null; xlWBs = null; xlApp.Quit(); xlApp = null; 

或者,如果你只是想打开电子表格,然后完全控制给用户,我会使用Process.Start(path)解决scheme,因为它避免了很多可能的麻烦的COM问题。