通过ASP.NET和IIS7在服务器上保存Excel工作簿

通过ASP.NET和IIS7在服务器上保存Excel工作簿,asp.net,excel,iis-7,interop,windows-server-2008-r2,Asp.net,Excel,Iis 7,Interop,Windows Server 2008 R2,执行SAVEAS时,以下代码示例产生相同的错误: Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); filePath = (string.Format("{0}.{1}", Path.GetTempFileName(), "xls")); …对工作簿执行一些操作 excelApp.DisplayAlerts = false; excelA

执行SAVEAS时,以下代码示例产生相同的错误:

Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
filePath = (string.Format("{0}.{1}", Path.GetTempFileName(), "xls"));
…对工作簿执行一些操作

excelApp.DisplayAlerts = false;
excelApp.ActiveWorkbook.SaveAs(filePath)

以下是错误: 异常:System.Runtime.InteropServices.COMException 0x800A03EC:来自HRESULT的异常:0x800A03EC 在Microsoft.Office.Interop.Excel.WorkbookClass.SaveAsObject文件名、对象文件格式、对象密码、对象写入密码、对象只读建议、对象CreateBackup、XLSaveAsAccess模式访问模式、对象冲突解决、对象AddToMru、对象TextCodepage、对象TextVisualLayout、对象本地 在Common.CreateTempExcelFileDataTable数据中

我在服务器上安装了Office 2003互操作系统,但已升级到2007。没有区别

顺便说一句,我可以将文本文件写入相同的文件/路径,这样就不会在文件夹上出现权限错误

提前感谢,


Jim看起来安装了无效的Excel互操作版本。

我发现这个链接很有用
Missing m = Missing.Value;
excelApp.ActiveWorkbook.SaveAs(filePath, m, m,m,m,m, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, m,m,m);
excelApp.ActiveWorkbook.SaveAs(filePath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value);