通过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被安装。