我正在使用microsoft office interop excel在ASP.NET C#中创建excel文件。当我在Visual Studio 2010中运行应用程序时,一切都成功了。我已经将我的Web应用程序发布到了我自己的IIS服务器中,这没关系。但是,当我发布应用程序在Windows服务器2008年检测到的问题。 我找了很多在互联网和我做以下,但问题仍然没有解决:Microsoft Office Interop Excel不保存在Windows Server 2008中
我已经设置应用程序池标识到本地系统。在运行 - > mmc -32 - >组件服务 - >我的电脑 - > DCOM配置 - > Microsoft Excel应用程序 - >右键单击 - 属性窗口:在“身份”选项卡我检查了此窗口中的所有单选按钮。
我已经设置应用程序池标识到网络服务,我再次检查了所有以前的单选按钮。
在运行 - > MMC -32 - >组件服务 - >我的电脑 - > DCOM配置 - > Microsoft Excel中应用 - >右键 - 属性窗口: “安全” 选项卡:我给午和本地激活为交互式,网络服务,IIS_IUSRS用户。
这里是我的代码,我用互操作的Excel:
Excel.Application xlApp = new Excel.Application(); object misValue = System.Reflection.Missing.Value; Excel.Workbook xlWorkBook = xlApp.Workbooks.Add(misValue); Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); Workbook.SaveAs(Server.MapPath("DownloadFolder\\" + fileName + "_siyahi.xls"));
有几个地方可能会在Web应用程序中引发错误。哪一行可以提供例外,并且可以发布异常?另外,您是否检查过应用程序运行的帐户是否具有写入文件夹/文件的适当文件权限? – squillman
我对** iis_iusrs,myCmputer \\ users **用户的**文件夹拥有**完全控制权限。当我将** NetworkService **标识设置为应用程序池时,将出现以下错误“由于没有足够的可用内存或磁盘空间,Microsoft Excel无法打开或保存更多文档”。 –
您可能需要阅读[本文](http://support.microsoft.com/kb/257757#appliesto)有关Interop和ASP.NET的问题。 Quote:“Microsoft目前不推荐,也不支持从任何无人值守的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定当Office在此环境中运行时出现行为和/或死锁。“ –