Excel Interop在主机服务器而不是本地计算机上保存文件

时间:2015-03-25 21:18:41

标签: c# asp.net export-to-excel

Project是一个ASP.NET应用程序,用于从数据库中获取Survey Evaluation并在excel中导出。

我正在使用excel interop在excel中生成报告。我后来才知道微软不支持使用互操作库的服务器端自动化,但我最初选择它作为关闭/ openxml不支持excel图和图表。

我在服务器上部署了我的应用程序,除了生成的文件保存在服务器而不是调用应用程序的本地机器上之外,所有内容都运行良好,除了生成的文件。

string foldername = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\Downloads";

Xlworkbook.SaveAs(""+foldername+"\\Evaluation.xlsx",51, missing, missing, missing,missing, Excel.XlSaveAsAccessMode.noxlchange,missing, missing, missing, missing, missing);

将文件保存在服务器上的C:\ User \ Asp.Net v4.0 \ Downloads \ ---中 而不是本地机器上的C:\ User \ Username \ Downloads \ ---

注意:Asp.Net v4.0是部署应用程序的IIS池的名称。

1 个答案:

答案 0 :(得分:0)

代码在服务器上运行,而不是在客户端上运行,因此文件保存在服务器上。

使用支持以Excel文件格式创建图形的库,而不使用excel来解决互操作问题(除了许可之外,您真的不希望在服务器上使用它)。

然后让用户从Web应用程序下载文件。