Speichern einer Excel-Arbeitsmappe auf dem Server durch ASP.NET und IIS7
-
27-09-2019 - |
Frage
Die folgenden Codebeispiele erzeugen die gleichen Fehler, wenn ich die SAVEAS ausführen:
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
filePath = (string.Format("{0}.{1}", Path.GetTempFileName(), "xls"));
... tun einige Sachen an der Arbeitsmappe ...
excelApp.DisplayAlerts = false;
excelApp.ActiveWorkbook.SaveAs(filePath)
oder
Missing m = Missing.Value;
excelApp.ActiveWorkbook.SaveAs(filePath, m, m,m,m,m, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, m,m,m);
oder
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);
Hier ist der Fehler: Ausnahme: System.Runtime.InteropServices.COMException (0x800A03EC): Ausnahme von HRESULT: 0x800A03EC bei Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs (Object Dateiname, Objekt Fileformat, Objektpasswort, Objekt WriteResPassword, Objekt ReadOnlyRecommended, Objekt Create, XlSaveAsAccessMode Access, Objekt ConflictResolution, Objekt AddToMru, Objekt TextCodepage, Objekt Textvisuallayout, Objekt Lokal) bei Common.CreateTempExcelFile (Datatable-Daten)
Ich hatte das Office 2003 Interops auf dem Server, sondern haben ein Upgrade auf 2007 kein Unterschied.
Im übrigen kann ich eine Textdatei auf die gleiche Datei / Pfad schreiben, damit es auf dem Ordner nicht ein Berechtigungsfehler ist.
Vielen Dank im Voraus,
Jim
Lösung
Sieht aus wie ungültige Interop-Version von Excel installiert wurde.