我正在使用microsoft office interop excel在ASP.NET C#中创建excel文件。当我在Visual Studio 2010中运行应用程序时,一切都成功。我已经在我自己的IIS服务器上发布了我的Web应用程序,没关系。但是,当我在 Windows Server 2008 中发布应用程序时,检测到问题。 我在互联网上找了很多,我已经完成了以下工作,但问题仍未解决:
我已将应用程序池标识设置为 LocalSystem 。在run-> mmc -32 - >组件服务 - >我的电脑 - > DCOM配置 - > Microsoft Excel应用程序 - >右键单击 - 属性窗口:in" Identity"选项卡我已经检查了此窗口中的所有单选按钮。
我已将应用程序池标识设置为 NetworkService ,并且我再次检查了所有以前的单选按钮。
在run-> mmc -32 - >组件服务 - >我的电脑 - > DCOM配置 - > Microsoft Excel应用程序 - >右键单击 - 属性窗口:"安全"标签:我为 INTERACTIVE,NETWORK SERVICE,IIS_IUSRS 用户提供了本地午餐和本地激活。
以下是我使用 Interop 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 :(得分:1)
我发现了我的问题。在我的Windows服务器系统区域设置尚未使用美国,我在代码中设置了 worksheet.cells.NumberForm =“0.00”。
xlWorkSheet.Cells[rowNumber, 4].NumberFormat = "0.00";
服务器不知道数字格式。我已将格式更改为英语(美国),当前位置更改为美国,我的问题已解决。