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

执行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) 

要么

 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); 

这里是错误:exception: System.Runtime.InteropServices.COMException(0x800A03EC):exception从HRESULT:0x800A03EC在Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs(对象文件名,对象FileFormat,对象密码,对象WriteResPassword,对象ReadOnlyRecommended,在Common.CreateTempExcelFile(DataTable数据)对象CreateBackup,XlSaveAsAccessMode AccessMode,Object ConflictResolution,Object AddToMru,Object TextCodepage,Object TextVisualLayout,Object Local)

我曾在服务器上的Office 2003 interop,但已升级到2007年。没有区别。

顺便说一句,我可以写一个文本文件到相同的文件/path,所以它不是在文件夹上的权限错误。

提前致谢,

吉姆

看起来像无效的互操作版本的Excel被安装。