numerische Felder in eine Exceldatei schreiben



  • Hi Leute,

    ich lass von meinem Prog eine Exceldatei erstellen die sowohl "NUMBER" als auch "TEXT" Felder hat. Soweit kein prob.
    Doch wie fülle ich nun diese Datei mit den numerischen Werten ( die Textfelder kann ich füllen ohne schwierigkeiten). Das Feld Tag im unteren beispiel ist ein Feld welches mit NUMBER angelegt wurde. In der verketteten Liste steht der richtige Wert drin doch wenn ich den SQL-String zusammenbaue macht er mir natürlich den wert kapputt (irgend so ein blödes ASCII zeichen anstatt der Zahl).

    SQL = "INSERT INTO Konto (Tag,Zk,Zb) VALUES (";
    SQL += hauptliste->Tag;
    SQL += " , '";
    SQL += hauptliste->Zk;
    SQL += "' , '";
    SQL += hauptliste->Zb;
    SQL += "')";
    Datenbank.ExecuteSQL(SQL);
    

    Die anderen beiden Felder sind übrigens CStrings und laufen sauber.
    Muß ich den Wert für das NUMBER-Feld in CString konvertieren um ihn zu übertragen ? oder was mach ich falsch.

    Kann mir jemand sagen wie ich einen FLOAT aus meinem Prog in ein Excelsheet bekomme (was für ein FELDTYP muß ich anlegen und wie wird dieser Datentyp übertragen). 😕 😕

    Danke für eure hilfe im vorab



  • du musst die zahlen in strings umwandeln. im c++ forum gibs da grad nen thread. stringstream und so. das geht auch mit floats. ich kann mir schwer vorstellen, dass es dafuer einen extra excel zellentyp gibt. probiers einfach.



  • Hallo !

    Probier doch mal das hier aus:

    SQL = "INSERT INTO Konto (Tag,Zk,Zb) VALUES (";
    
    CString cTemp;
    cTemp.Format("%g", hauptliste->Tag);
    
    SQL += cTemp;
    SQL += " , '";
    SQL += hauptliste->Zk;
    SQL += "' , '";
    SQL += hauptliste->Zb;
    SQL += "')";
    Datenbank.ExecuteSQL(SQL);
    

    Tschüss



  • Hi Leute,

    funzt super. Mir war nicht so ganz klar das wenn ich die Werte als CString übergebe sie in Excel trotzdem als Zahl genommen werden so das ich damit rechnen kann.
    Also nochmal danke 😃 😃 😃


Anmelden zum Antworten