speichern als Exel-File



  • japs, das die ist gut, hier mal der code:

    CDatabase database;
            CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // exactly the same name as in the ODBC-Manager
            CString sExcelFile = "C:\\demo.xls";                // Filename and path for the file to be created
            CString sSql;
    
            TRY
            {
            // Build the creation string for access without DSN
    
            sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s", sDriver,sExcelFile,sExcelFile);
    
            // Create the database (i.e. Excel sheet)
            if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )
            {
    
             sSql = "CREATE TABLE addy (Name TEXT,Vorwahl TEXT,Nummer TEXT)";
             database.ExecuteSQL(sSql);
    
                CString in; //so speicher ich variable in der tabelle ;)
                in = "INSERT INTO addy (Name,Vorwahl,Nummer) VALUES ('";
                in += m_name;
                in += "','";
                in += m_vorwahl;
                in += "','";
                in += m_nummer;
                in += "')";
              // Insert data
              sSql = in;
                database.ExecuteSQL(sSql);
                }      
    
        // Close database
            database.Close();
        }
        CATCH_ALL(e)
        {
            TRACE1("Driver not installed: %s",sDriver);
        }
            END_CATCH_ALL;
        }
    

    Ist total easy (aber gut) 😉



  • Diese Lösung ist wirklich gut, aber ich habe trotzdem ein kleines Problem. Wenn ich beim erneuten Exportieren eine schon existierende Datei anwähle, so geschieht gar nichts. Beim erneuten erstellen der Tabelle wird eine Exception geworfen. Weiss jemand, warum das so ist?

    Danke!!!



  • Was ist das eigentlich für ein blöder Bug? Immer wenn ich einen Wert in die Excel-Tabelle schreiben lasse, dann hängt vorne noch ein ' dran.

    Gruß,
    Phips!



  • Das heißt, dass das ein Text ist - und keine Zahl oder so.

    Excel-Eigenart 🙂



  • Aber wenn ich meinen Text direkt in eine Excel-Zelle eingebe, dann kommt kein ' dazu. Auch wenn ich speichere, schließe und wieder aufrufe ist kein ' da. Hast Du da zufällig noch irgendwelche Internetseiten parat, die das genauer beschreiben?

    Gruß,
    Phips!



  • Ne, sorry.

    Das war Anwendung von vorhandenem Wissen. Keine Ahnung wo es was dazu im Netz gibt.

    🙂



  • Excel per ODBC ist scheiße!

    Phips!



  • Ich arbeite mich langsam darauf hin, stehe aber noch ganz am Anfang....

    ich habe jetzt nach 5 Jahren Programmierpause(war damals auch noch nicht gut) mein erstes MFC basiertes Programm geschreiben kenne mich also noch nicht gut damit aus.
    Mein Programm macht eine Datenumstrukurierung und es wäre sehr schön, wenn ich die Daten direkt in Excel wegschreiben könnte. Würde mir das Leerzeichen getrennte öffnen in Excel ersparen.

    Ich denke der Code hier wäre genau das richtige.

    Kann hier mal jemand nem Anfänger wie mir erklären, wie ich den Code ans Laufen kriege?
    Wo muss ich den Code einfügen?
    Brauche ich irgendwelche includes?

    Kann sein, dass ich mich sehr dumm anstelle, aber ich möchte hier wirklich was lernen. Bin für alle Tipps dankbar, auch wenn mir jemand schreibt wo ich Text zum nachlesen herbekomme.



  • veganza schrieb:

    @viktor

    Es geht auch einfacher 😉

    http://codeguru.earthweb.com/mfc_database/CSpreadSheet.html

    Schau Dir mal diese Klasse an.

    MfG veganza

    Ich habe mir die oben genannte Klasse angeschaut und in meiner Applikation implementiert. Leider ist diese fürchterlich langsam. Mein Rechner 2200+ braucht für eine Zeile ca. 1 Sekunde. Bei mehr als 1000 Zeilen ist das ganz schön nervig.



  • Um CDatabase zu nutzen musst du #include <afxdb.h> machen.



  • is mir ja schon peinlich, aber wie mein Name schon sagt...

    den Code find ich klasse,

    aber eure Sprache versteh ich nicht😕 ich würde auch gern den Code in meine Applikation implementieren. Weiß aber weder was meine Applikation ist, noch wie man implementiert.

    Vielleicht fängt jemand für mich nochmal vorne an?



  • Deine Applikation ist das Programm, das du geschrieben hast oder gerade schreibst oder so.

    Und wie ich das sehe hast du bestimmt irgendwo eine Funktion, wo nach Excel gespeichert werden soll. Und da kommt der Beispielcode rein. (Vermute ich anhand des Codes, ist ja nicht von mir.)

    🙂



  • Danke für die Übersetzung !

    Ich probiere jetzt mal bis es funktioniert !!!


Anmelden zum Antworten