Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 打开Excel xlsx文件进行查看_C#_Asp.net Mvc_Excel - Fatal编程技术网

C# 打开Excel xlsx文件进行查看

C# 打开Excel xlsx文件进行查看,c#,asp.net-mvc,excel,C#,Asp.net Mvc,Excel,我需要打开一个xlsx文件,以便用户可以看到它。 我使用了以下代码,但无法显示excel文件: public ActionResult GetExcelReport() { string fileName = "Sheet1.xlsx"; string path = Path.Combine(@"C:\Test", fileName); return File(path, "application/xlsx"); } 我希望重新运行文件路径。。。 实际上会打开文件进行

我需要打开一个xlsx文件,以便用户可以看到它。 我使用了以下代码,但无法显示excel文件:

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

    return File(path, "application/xlsx");
}
我希望重新运行文件路径。。。 实际上会打开文件进行查看

尝试使用Microsoft.Office.Interop.Excel,并:

顺便说一下,您也可以使用System.Diagnostics;,及

您只需使用文件打开文件流,它不会启动文件

尝试使用Microsoft.Office.Interop.Excel,并:

顺便说一下,您也可以使用System.Diagnostics;,及


您只需使用文件打开文件流,它不会启动文件

扩展Bhuang 3的答案:如果您希望您的用户能够看到Excel电子表格,然后让您的应用程序对其进行处理,那么我将使用Interop答案,因为您的应用程序可以保留引用以执行操作

你可以用铅笔打开它

Excel.Application xlApp = new Excel.Application();
Excel.Workbooks xlWBs = xlApp.Workbooks;
Excel.Workbook xlWB = xlWBs.Open(path);
xlApp.Visible = true;
完成后,应关闭工作簿并退出应用程序,以防止Excel在内存中无头运行,当用户在其计算机上打开另一个电子表格时,会产生一些非常奇怪的副作用

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

或者,如果您只想打开电子表格,然后完全控制用户,我会使用Process.Startpath解决方案,因为它避免了许多潜在的混乱COM问题。

要扩展bhuang3的答案:如果您希望用户能够看到Excel电子表格,然后让应用程序对其进行处理,那么我将使用互操作回答,因为您的应用程序可以保留引用以执行操作

你可以用铅笔打开它

Excel.Application xlApp = new Excel.Application();
Excel.Workbooks xlWBs = xlApp.Workbooks;
Excel.Workbook xlWB = xlWBs.Open(path);
xlApp.Visible = true;
完成后,应关闭工作簿并退出应用程序,以防止Excel在内存中无头运行,当用户在其计算机上打开另一个电子表格时,会产生一些非常奇怪的副作用

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

或者,如果您只想打开电子表格,然后将完全控制权交给用户,我会使用Process.Startpath解决方案,因为它避免了许多潜在的混乱COM问题。

发生了什么?另外,你的MIME类型是错误的。什么也没发生。没有错误。我也尝试了application/xls,但都是一样的。没有错误。什么都没发生发生发生什么事了?另外,你的MIME类型是错误的。什么也没发生。没有错误。我也尝试了application/xls,但都是一样的。没有错误。没有发生任何事情。您可以使用process.waitforinputile;同时,还可以使用process.WaitForExit;那么,您可以使用process.WaitForInputIdle;同时,还可以使用process.WaitForExit;