Laden...

Excel-Datei wird erstellt, kann jedoch nach der Erstellung nicht geöffnet werden

Erstellt von CarolaA vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.599 Views
C
CarolaA Themenstarter:in
11 Beiträge seit 2012
vor 10 Jahren
Excel-Datei wird erstellt, kann jedoch nach der Erstellung nicht geöffnet werden

Hallo liebe C#-Experten.

Ich habe mir folgenden Code geschrieben. Dieser funktioniert auch soweit ich festgestellt habe.

            Excel.Application app = new Excel.Application();
            Excel.Workbook myExcelWorkbook;
            Excel.Worksheet myExcelWorkSheet;
            try
            {
                string path = @"C:\myDocuments\staedte_2.xlsx";
                myExcelWorkbook = app.Workbooks.Add();
                myExcelWorkSheet = myExcelWorkbook.Sheets.Add() as Excel.Worksheet;
                myExcelWorkSheet.Name = "mySheet";

                // Überschriften eingeben 
                myExcelWorkSheet.Cells[2, 2] = "Hamburg";    // Zelle B2 
                myExcelWorkSheet.Cells[2, 3] = "Nürnberg";   // Zelle C2 
                myExcelWorkSheet.Cells[2, 4] = "Hamburg";    // Zelle D2

                // Formatieren der Überschrift 
                Excel.Range myRangeHeadline;
                myRangeHeadline = myExcelWorkSheet.get_Range("B2", "D2");
                myRangeHeadline.Font.Bold = true;
                myRangeHeadline.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
                myRangeHeadline.Borders.Weight = Excel.XlBorderWeight.xlThick;

                // Daten eingeben 
                myExcelWorkSheet.Cells[3, 2] = "18";
                myExcelWorkSheet.Cells[3, 3] = "21";
                myExcelWorkSheet.Cells[3, 4] = "11";
                myExcelWorkSheet.Cells[4, 2] = "21";
                myExcelWorkSheet.Cells[4, 3] = "32";
                myExcelWorkSheet.Cells[4, 4] = "22";
                myExcelWorkSheet.Cells[5, 2] = "12";
                myExcelWorkSheet.Cells[5, 3] = "56";
                myExcelWorkSheet.Cells[5, 4] = "14";
                myExcelWorkSheet.Name = "Kunden";

                myExcelWorkbook.Close(true, path, Type.Missing);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                app.Quit();
            }

Nur ich habe das Problem, dass ich nach dem Erstellen der Excel-Datei, die Datei nur aufmachen kann, wenn ich Excel aufmache und von dort aus die Datei auswähle.

Mit Doppelklick geht es leider nicht.

Habt ihr vielleicht Ideen, warum das nicht geht?

Denn eine Fehlermeldung kommt bei mir leider nicht.

MfG CarolaA.

64 Beiträge seit 2012
vor 10 Jahren

Versuch mal in Excel die Einstellungen zu ändern, teilweise hackts auch einfach nur daran:

Unter:

--> Extras
--> Optionen
--> Register: 'Allgemein'
--> [ ] Andere Anwendungen ignorieren.

Diese Einstellung steuert die DDE-Verbindungen zu Excel, welche auch vom Explorer verwendet werden, wenn Du auf eine .xls-Datei doppelklickst.

++Rekursion ++
(lat. , die) siehe Rekursion

C
CarolaA Themenstarter:in
11 Beiträge seit 2012
vor 10 Jahren

Danke für deine Antwort.

Das ist bei mir nicht angehackt. Weißt du vielleicht noch an was es liegen könnte?

Habe Excel 2010.

4.221 Beiträge seit 2005
vor 10 Jahren

Könnte auch daran liegen dass dass WorkSheet noch referenziert wird...

Guck mal da: EXCEL wirklich schliessen

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

P
660 Beiträge seit 2008
vor 10 Jahren

mal was ganz einfaches,

starte die cmd (start -> ausführen -> cmd) und navigiere zum Pfad wo sich deine excel-datei befindet
(cd "C:\temp\myexcelfiles"). dort gib einfach mal den Dateinamen an ("MyExcelFile.xls" (was vllt
einige nicht wissen, ist die AutoComplete Funktion in cmd ->ersten buchstaben eingeben und Tab
drücken, oder *.xls und Tab)) und drück enter. Wenn das mit excel geöffnet wird ist das problem
woanders. wenn nichts passiert, müsstest du die Zuordnungen der Dateitypen mal überprüfen.

Dateitypen zuordnen

MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden! *"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht." *"Ignorance simplifies ANY problem." *"Stoppt die Piraterie der Musikindustrie"

C
CarolaA Themenstarter:in
11 Beiträge seit 2012
vor 10 Jahren

@ProGramer:

Danke für diesen Tipp, der hat es in sich. Denn du hattest Recht, dass mit der Dateitypenzuorndung etwas nicht stimmt. Vielen Dank.

@Programmierhans und EifelYeti: Danke für eure Hilfe.

MfG CarolaA.