Autor Beitrag
Doltsche
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 09.02.10 10:39 
Hallo zusammen

Ich versuche über C# ein Exceldokument abzuspeichern mit der Methode SaveAs:

ausblenden C#-Quelltext
1:
2:
workbook.SaveAs(@"C:\CSharp\csharpExcel.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, falsefalse,
Excel.XlSaveAsAccessMode.xlNoChange, misValue, misValue, misValue, misValue, misValue);


Die Parameter habe ich anschliessend noch mit dem Beitrag auf MSDN verglichen. Die Werte stimmen alle überein, dennnoch kommt die Fehlermeldung:

ausblenden Quelltext
1:
2:
3:
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in WriteToExcelTest.exe

Additional information: Ausnahme von HRESULT: 0x800A03EC


Da diese Fehlermeldung viele verschiedene Ursachen haben kann wurde ich auch über Google auf die Schnelle nicht fündig.

LG Samuel
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Di 09.02.10 11:26 
Moin,

Irgendwelche Probleme scheint man damit immer zu haben. Versuche mal einfach Excel zu schließen:

ausblenden C#-Quelltext
1:
Excel.wbk.Close(true@"C:\CSharp\csharpExcel.xls", System.Reflection.Missing.Value);					


Ansonsten weiß ich nicht, ob dein Workbook richtig refenziert ist und anscheinend soll auch diese Version funktionieren:

ausblenden C#-Quelltext
1:
workbook.SaveAs(@"C:\CSharp\csharpExcel.xls", SpreadsheetGear.FileFormat.XLS97);					


Sonst müsste ich erstmal selber wieder schauen :(

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
Greenberet
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 339
Erhaltene Danke: 20

Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
BeitragVerfasst: Di 09.02.10 12:30 
Hier ein Beispiel wie ich mein Excel sheet speicher und schließe:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
Application app = new ApplicationClass();
Workbook wb;
Worksheet ws;
wb = app.Workbooks.Add(Type.Missing);
ws = (Worksheet)wb.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Range range = ws.get_Range("A2", Type.Missing);


//... PROCESSING DATA


//without these marshal/null/GC.Collect() calls an Exce.exe process will stay open
Marshal.ReleaseComObject(range);
Marshal.ReleaseComObject(ws);
Marshal.ReleaseComObject(wb);
ws = null;
wb = null;
range = null;
app.Quit();
Marshal.ReleaseComObject(app);
app = null;
GC.Collect();