excel datei in CSV konvertieren oder Excel in DBF [erledigt]
Moderator: Moderatoren
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
excel datei in CSV konvertieren oder Excel in DBF [erledigt]
Hi,
ich bräuchte mal einen Tipp, wie man mit xBase-Mitteln eine Excel Datei in eine CSV Datei konvertiert, oder auch -> Wie könnte man Excel Daten direkt in DBF laden?
ich bräuchte mal einen Tipp, wie man mit xBase-Mitteln eine Excel Datei in eine CSV Datei konvertiert, oder auch -> Wie könnte man Excel Daten direkt in DBF laden?
Zuletzt geändert von Wolfgang_B am Mi, 04. Aug 2021 15:59, insgesamt 1-mal geändert.
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF
Hallo,
das einfachste ist über ein ActiveX Objekt:
Dann hast du alle Werte der Exceldatei in dem Array aValues und kannst Sie weiterverarbeiten.
das einfachste ist über ein ActiveX Objekt:
Code: Alles auswählen
#include "ActiveX.ch"
...
if ValType(oExcel := CreateObject("Excel.Application")) == 'O'
oWorkBook := oExcel:Workbooks:Open(<Dateiname_mit_Pfad>)
aValues := oWorkBook:WorkSheets(1):UsedRange:Value
oWorkBook:Close(.F.)
oExcel:Quit()
oWorkBook:Destroy()
oExcel:Destroy()
...
Viele Grüße
Wolfgang
Wolfgang
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF
Excel selbst kann man zwar dazu bringen in eine DBF zu schreiben, aber sowohl die Spaltenüberschriften als auch die Inhalte der Zellen sind viel flexibler als eine DBF erlaubt.
Ich würde daher den vorgeschlagenen Weg über ein Array gehen und für jede Zelle auch eine Typprüfung vor dem Speichern machen.
So kann man auch genau die Struktur vorgeben (Feldlängen etc.)
Ich würde daher den vorgeschlagenen Weg über ein Array gehen und für jede Zelle auch eine Typprüfung vor dem Speichern machen.
So kann man auch genau die Struktur vorgeben (Feldlängen etc.)
Gruß
Hubert
Hubert
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF
Man kann auf Excel-Tabellen auch via ODBCDBE zugreifen. Die Excel-Datei selbst legt man in einem Benutzer-DSN als Datenbank an - oder beim Konnektieren. Und das USE ... VIA ODBCDBE geht dann z.B. auf eine Range in einer Tabelle. Die erste Zeile wird als Tabellenheader interpretiert. Und danach hantiert man mit dem Bereich wie mit einer DBF.
Herzlich,
Tom
Tom
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF
ich würde über ActiveX (wie Wolfgang vorgeschlagen hat) öffen, die Spaltenüberschriften ändern und dann als DBF Datei speicher.
Gruß
Klaus
Klaus
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF
Ich nutze beide Varianten, hat alles seine Vor- und Nachteile. Man kann die Excel-Tabelle aber auch direkt als CSV speichern und dann parsen. Oder zig andere Wege gehen.
Herzlich,
Tom
Tom
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Re: excel datei in CSV konvertieren oder Excel in DBF
ich habe den Code von Wolfgang implementiert. Läuft bestens!! Vielen Dank!
Auch für die sonstigen Tipps vielen Dank!
Auch für die sonstigen Tipps vielen Dank!
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
- azzo
- Rekursionen-Architekt
- Beiträge: 483
- Registriert: So, 28. Mär 2010 19:21
- Danksagung erhalten: 11 Mal
Re: excel datei in CSV konvertieren oder Excel in DBF [erledigt]
Hallo Freunde,
man kann auch die xlsx-Datei in zip umbenennen und dann auf die xml Dateien zugreifen.
LG
Otto
man kann auch die xlsx-Datei in zip umbenennen und dann auf die xml Dateien zugreifen.
LG
Otto
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF [erledigt]
Hallo Otto,
ich bin zwar nicht Dein Freund. Aber Deine Idee ist schon absolut interessant. Ein Gedanke, der sowas von abseits aller normaler Gedankengänge ist.
Wobei das natürlich dennoch komplex ist, denn die zip ist ja nicht eine einzelne große XML die man einfach mal eben so aufbröseln könnte. Und so wirklich einfach geht es ohnehin nur bei xlsx, die nicht noch intern verschachtelt sind oder mit Feldverknüpfungen etc. arbeiten. Aber es ist halt och ein Weg ohne Zusatzbibliotheken, installiertes Excel, oder ähnliche Tricks mit reinen Xbase++-Bordmitteln auf die Daten zugreifen zu können.
Jan
ich bin zwar nicht Dein Freund. Aber Deine Idee ist schon absolut interessant. Ein Gedanke, der sowas von abseits aller normaler Gedankengänge ist.
Wobei das natürlich dennoch komplex ist, denn die zip ist ja nicht eine einzelne große XML die man einfach mal eben so aufbröseln könnte. Und so wirklich einfach geht es ohnehin nur bei xlsx, die nicht noch intern verschachtelt sind oder mit Feldverknüpfungen etc. arbeiten. Aber es ist halt och ein Weg ohne Zusatzbibliotheken, installiertes Excel, oder ähnliche Tricks mit reinen Xbase++-Bordmitteln auf die Daten zugreifen zu können.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF [erledigt]
Was hat das überhaupt mit dem Thema zu tun ?
Gruß
Klaus
Klaus
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF [erledigt]
Klaus,
Otto zeigt auf wie man eine xlsx direkt auslesen kann, ohne darauf per ActiveX zugreifen zu müssen (was halt eine Excel-Installation auf dem Rechern erfordert) oder eine externe Excel-Bibliothek. Die Datei ist schließlich eine gezippte Ansammlung von XML und Konfigurationen, und die kann man dann halt mit Xbase++-XML-Funktionen auslesen.
Otto hat ja auch einen Screenshot der XML mitgeliefert (mit welchem Editor er die auch immer geöffnet hat).
Jan
Otto zeigt auf wie man eine xlsx direkt auslesen kann, ohne darauf per ActiveX zugreifen zu müssen (was halt eine Excel-Installation auf dem Rechern erfordert) oder eine externe Excel-Bibliothek. Die Datei ist schließlich eine gezippte Ansammlung von XML und Konfigurationen, und die kann man dann halt mit Xbase++-XML-Funktionen auslesen.
Otto hat ja auch einen Screenshot der XML mitgeliefert (mit welchem Editor er die auch immer geöffnet hat).
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF [erledigt]
Jan,
ist mir trotzdem zu hoch Warum sollte ich eine xlsx Datei Zip umbenennen.
Wenn ich eine xlsx Datei habe und die in zip umbenenne bekomme ich eine xml Datei ? Super Tool.
Aber lassen wir das, ist ja als erledigt gekennzeichnet.
ist mir trotzdem zu hoch Warum sollte ich eine xlsx Datei Zip umbenennen.
Wenn ich eine xlsx Datei habe und die in zip umbenenne bekomme ich eine xml Datei ? Super Tool.
Aber lassen wir das, ist ja als erledigt gekennzeichnet.
Gruß
Klaus
Klaus
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF [erledigt]
XLSX ist eine ZIP-Datei, sie heißt nur nicht so, Klaus. Sie ordnet - wie eine ZIP-Datei, die mehrere Dateien enthält - die Worksheets und Daten als XML-Dateien in einer Ordnerstruktur an. Wenn man also wieder mit einem De-Zipper entkomprimiert, erhält man die einzelnen eingebetteten Daten als Dateistruktur. Das ist schon lässig, und wenn man die Struktur versteht, kann man damit elegant arbeiten, ohne Excel selbst oder z.B. die ODBCDBE nutzen zu müssen. Man muss sich nur in den Aufbau einfummeln.
Herzlich,
Tom
Tom
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Re: excel datei in CSV konvertieren oder Excel in DBF [erledigt]
interessant, was in den .XML Files alles im Klartext drinsteht ...
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
- Martin Altmann
- Foren-Administrator
- Beiträge: 16516
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF [erledigt]
Das Prinzip ist bei den anderen neueren Officedateien genau so (docx, pptx) - nur falls es jemand noch nicht wissen sollte.
Viele Grüße,
Martin
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: excel datei in CSV konvertieren oder Excel in DBF [erledigt]
Danke für die Aufklärung
Gruß
Klaus
Klaus