Excel-Tabelle



  • Kann mir jemand vielleicht helfen? Ich bin kein Profi, aber ich habe ein datenbankbasiertes Programm geschrieben und ich möchte nun eine csv- oder excel-Tabelle in eine eigene Tabelle umwandeln, also in eine Tabelle, die einem eigenen Programm zugrundeliegt. Ich öffne also den ODBC-Administrator und melde meine csv/excel-Tabelle an. Anschließend lege ich ein neues C++Projekt an, füge ein paar wenige Eingabefelder ein und kompiliere. Keine Fehler. Aber wenn ich ausführe und dabei natürlich auf meine csv/excel-Tabelle zugreife, erhalte ich die Fehlermeldung: "Syntaxfehler in FROM-Klausel". Ich arbeite mit einer alten Visual-C++ 6 Version und MS-Office 2003, das sollte eigentlich zusammen passen.



  • Ich habe einen Fehler mit dem ODBC-Administrator im Verdacht, damit bin ich unsicher und habe vielleicht falsche Angaben gemacht. Ich habe "ANSI" und "Microsoft-Text-Treiber(txt, csv)" angegeben. Die aktuelle Software "Visual Studio" habe ich mir erst kürzlich herunter geladen und komme damit noch nicht klar. Die Tabelle "Test.csv" besteht aus zwei Spalten mit zwei Datensätzen aus jeweils zwei Ganzzahlen, ich habe diese Tabelle so einfach wie möglich gehalten, um die Fehlersuche einzugrenzen. Die xls-Tabelle ist umfangreicher, besteht aus über 1000 DS mit verschiedenartigen Variablen und ist eigentlich fehleranfälliger, funktioniert aber besser (siehe oben)


  • |  Mod

    Also in Codeproject unter ODBC Excel MFC findest Du genug Code wie man das ganze ohne den ODBC Admin macht...

    LMGTFY https://www.codeproject.com/Articles/222/Reading-Excel-files-using-ODBC



  • Eine Frage.

    Wenn du die Daten als CSV bekommst, warum nimmst du dann ODBC?
    CSV ist normaler Text den man einfachst einlesen kann.

    Einfach die Datei mit CFile oder fstream/iostream einlesen und bearbeiten.


  • |  Mod

    @Siegfried_Zynzec
    Du sparst es Dir einen Parser zu schreiben... speziell eben Quotes zu berücksichtigen oder nicht.
    Und Dein eigentlicher Code zu schleifen und Umwandlungen zu machen is reusable egal was für eine Quelle DU hast (fast egal...)



  • @siegfried_zynzec aber dann habe ich eine Textdatei und muss diese umständlich in eine Tabelle umwandeln. Dann ist es mir lieber, wenn ich gleich eine richtige xls-Datei einlesen kann. Das hat ja auch zum Teil funktioniert, aber erstens waren es nur etwa 500 Datensätze, die ich lesen konnte, und zweitens habe ich bei einzelnen Datensätzen Fehlermeldungen bekommen (obwohl ich jeweils die ganze Spalte einheitlich formatiert hatte), wobei meine Anwendung dann auch hängengeblieben ist und weder vor noch zurück zu bewegen war. Ein Sprung zur letzten Datei war jedoch möglich.