当我执行 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);
这是错误:异常:System.Runtime.InteropServices.COMException(0x800A03EC):来自 HRESULT 的异常:Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs 的 0x800A03EC(对象文件名,对象文件格式,对象密码,对象 WriteResPassword,对象 ReadOnlyRecommended, Common.CreateTempExcelFile(DataTable 数据)中的对象 CreateBackup、XlSaveAsAccessMode AccessMode、对象 ConflictResolution、对象 AddToMru、对象 TextCodepage、对象 TextVisualLayout、对象本地
我在服务器上有 Office 2003 互操作,但已升级到 2007。没有区别。
顺便说一句,我可以将文本文件写入相同的文件/路径,因此这不是文件夹的权限错误。
提前致谢,
吉姆