2013-08-27 49 views
2

我正在使用microsoft office interop excel在ASP.NET C#中创建excel文件。当我在Visual Studio 2010中运行应用程序时,一切都成功了。我已经将我的Web应用程序发布到了我自己的IIS服务器中,这没关系。但是,当我发布应用程序在Windows服务器2008年检测到的问题。 我找了很多在互联网和我做以下,但问题仍然没有解决:Microsoft Office Interop Excel不保存在Windows Server 2008中

  1. 我已经设置应用程序池标识本地系统。在运行 - > mmc -32 - >组件服务 - >我的电脑 - > DCOM配置 - > Microsoft Excel应用程序 - >右键单击 - 属性窗口:在“身份”选项卡我检查了此窗口中的所有单选按钮。

  2. 我已经设置应用程序池标识网络服务,我再次检查了所有以前的单选按钮。

  3. 在运行 - > 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")); 
+0

有几个地方可能会在Web应用程序中引发错误。哪一行可以提供例外,并且可以发布异常?另外,您是否检查过应用程序运行的帐户是否具有写入文件夹/文件的适当文件权限? – squillman

+0

我对** iis_iusrs,myCmputer \\ users **用户的**文件夹拥有**完全控制权限。当我将** NetworkService **标识设置为应用程序池时,将出现以下错误“由于没有足够的可用内存或磁盘空间,Microsoft Excel无法打开或保存更多文档”。 –

+2

您可能需要阅读[本文](http://support.microsoft.com/kb/257757#appliesto)有关Interop和ASP.NET的问题。 Quote:“Microsoft目前不推荐,也不支持从任何无人值守的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定当Office在此环境中运行时出现行为和/或死锁。“ –

回答

0

,我发现我的问题。在我的Windows服务器系统区域设置还没有被美国,我已经设置worksheet.cells.NumberForm =“0.00”在我的代码。

xlWorkSheet.Cells[rowNumber, 4].NumberFormat = "0.00"; 

服务器不知道这数字格式。我已更改格式英文(美国)当前位置美国我的问题已解决。

相关问题