Datenexport



  • Ich habe aus C++.NET heraus eine csv Datei erstellt, die ich mit Excel öffnen will.
    FILE *pf
    s=" SQL Statement..."
    fputs(s,pf)

    Die Datei ist auch erstellt, nur, wenn ich sie mit Ecxel aufmachen will kommt folgendes:
    Kann Datensatz 1 nicht lesen!
    Fehler anzeigen?
    => Nach Ja-Klick kommt
    Excel hat festgestellt, das export.csv eine SYLK Datei ist, aber es kann die Datei nicht laden. Entweder ist die Datei fehlerhaft, oder es ist kein gültiges SYLK Format. Klicken Sie ok um die Datei in einem anderen Format zu öffnen.

    Wenn ich dann ok drücke, wird alles richtig dargestellt?

    Kann man das irgendwie richtig einstellen?



  • Das CSV-Format bedeutet Comma Separated Values (womit Excel aber Semikolons meint). Wenn das Dein Code ist, hat der Dateiinhalt nicht viel mit CSV zu tun.



  • Manfred Schmidtke schrieb:

    Das CSV-Format bedeutet Comma Separated Values (womit Excel aber Semikolons meint).

    Jein. Je nach Excel-Version gilt per default ein anderes Trennzeichen:
    Mit Excel2000 kann man z.B. die Werte mit einem Komma trennen. Die Datei mit Endung .csv kann dann problemlos mittels Doppelklick geöffnet werden. So viel ich weiss, geht das bei Excel2003 nicht so einfach. Da muss man die Datei importieren und das Trennzeichen angeben, weil die 03er Version ein anderes Defaulttrennzeichen (Semikolon) verwendet.

    War zumindest bei mir so 😉
    Vielleicht kann man das Defaulttrennzeichen bei Excel einstellen? K.A.



  • Ich gebe im Programm vor, dass die Felder durch ; getrennt sind. Wenn ich , als Trenner angebe steht alles in einer Zelle...
    Das ist ja das komische. Es kommt zwar der Fehler, aber wenn ich alles mit ok bestätige kommt das File so in Excel an wie ich es will...
    Mich stört das nicht, aber ich muss meine Fallstudie abgebem und der Dozent will ne saubere Lösung... Gibt es andere Möglichkeiten der Ausgabe?? Es muss im Endeffekt nur in Excel ankommen..



  • Hopplsala schrieb:

    Ich gebe im Programm vor, dass die Felder durch ; getrennt sind. Wenn ich , als Trenner angebe steht alles in einer Zelle...
    Das ist ja das komische. Es kommt zwar der Fehler, aber wenn ich alles mit ok bestätige kommt das File so in Excel an wie ich es will...
    Mich stört das nicht, aber ich muss meine Fallstudie abgebem und der Dozent will ne saubere Lösung... Gibt es andere Möglichkeiten der Ausgabe?? Es muss im Endeffekt nur in Excel ankommen..

    s=" SQL Statement..."
    

    Kann es sein, dass Excel deine SQL Statements versucht zu interpretieren? Versuchs doch einmal so "Hello World" (Zahlenwerte etc.) Daten zu schreiben..

    und überhaupt. weshalb arbeitest du nicht mit CFile?

    CStdioFile myFile;
    myFile.Open(<args>); 
    
    CString sLine = "Hello, World, 1, 2, 3";
    myFile.WriteString(sLine);
    myFile.Close();
    

    Ich habe einfach das Gefühl, dass deine Daten nicht sauber sind. Sonst... ein anderer Ansatz ist der folgende: Du erstellst von Hand ein txtfile, schreibst die Daten rein (Trennzeichengetrennt), bennenst sie um (.csv) und versuchst sie zu öffnen - wie ist dann das Resultat? Dasselbe?



  • csv ist ein Standardisiertes Format. Bedeutet wir schon oben gesagt Comma Separated Values.

    Wenn man was andere reinschreibt ist es keine CSV-Datei mehr.
    Was Excel macht und welches Trennzeichen es verwendet ist dabei unerheblich.

    Ich hatte mit CSV-Dateien unter Excel nie Probleme.
    Man muss aber auch auf Sonderzeichen aufpassen.
    z.B. kommas im Text selbst oder dopplete Hochkommas



  • die erste exportierte Spalte hatte die Überschrift ID. Wenn man die umbenennt gibt es keine Probleme mehr....


Anmelden zum Antworten