Datentransfer von .dbf Datei auf Exceldatei?
Moderator: Moderatoren
Datentransfer von .dbf Datei auf Exceldatei?
Hi!
ich hätte einmal ein ganz profane Frage: Wie kann man .dbf Datensätze auf Exceldateien übertragen? Gibt es dazu fertige Apps?
Vielen Dank!
Gruß Werner
ich hätte einmal ein ganz profane Frage: Wie kann man .dbf Datensätze auf Exceldateien übertragen? Gibt es dazu fertige Apps?
Vielen Dank!
Gruß Werner
-
- Rekursionen-Architekt
- Beiträge: 371
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
In Excel kannst Du direkt eine DBF öffnen.
Anleitung z.B.
https://dostmann-electronic.de/download ... yffnen.pdf
Anleitung z.B.
https://dostmann-electronic.de/download ... yffnen.pdf
Gruß
Roland
Roland
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9877
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 138 Mal
- Danksagung erhalten: 470 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
Wenn man die Endung einfach gegen "XLS" austauscht, dann sogar mit einem Doppelklick. Die Formate sind nämlich extrem ähnlich.
Ansonsten gibt es diverse Strategien, aus Tabellendaten XLS/XLSX zu erzeugen, und am Elegantesten ist vermutlich der Weg über ActiveX (OLE), wofür aber Excel installiert sein muss. Man kann aus DBF-Tabellen auch relativ leicht CSV-Dateien machen, die sich ebenfalls direkt in Excel öffnen lassen. Oder man kopiert die Daten an die Zwischenablage, das geht so ähnlich.
Ich meine, jemand hat hier auch mal vorgestellt, wie man das XLSX-Format direkt schreiben kann. Das ist ja XML-basiert und deshalb relativ leicht zu handhaben.
Ansonsten gibt es diverse Strategien, aus Tabellendaten XLS/XLSX zu erzeugen, und am Elegantesten ist vermutlich der Weg über ActiveX (OLE), wofür aber Excel installiert sein muss. Man kann aus DBF-Tabellen auch relativ leicht CSV-Dateien machen, die sich ebenfalls direkt in Excel öffnen lassen. Oder man kopiert die Daten an die Zwischenablage, das geht so ähnlich.
Ich meine, jemand hat hier auch mal vorgestellt, wie man das XLSX-Format direkt schreiben kann. Das ist ja XML-basiert und deshalb relativ leicht zu handhaben.
Herzlich,
Tom
Tom
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9877
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 138 Mal
- Danksagung erhalten: 470 Mal
- Kontaktdaten:
- HaPe
- Programmier-Gott
- Beiträge: 1010
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 17 Mal
Re: Datentransfer von .dbf Datei auf Exceldatei?
Hallo Tom !
Mein Excel 2019 kann das nicht.
Aber Calc 25.2 von LibreOffice kann die Tabelle öffnen.
Mit welcher Excel-Version funktioniert das bei dir?Wenn man die Endung einfach gegen "XLS" austauscht, dann sogar mit einem Doppelklick. Die Formate sind nämlich extrem ähnlich.
Mein Excel 2019 kann das nicht.

Aber Calc 25.2 von LibreOffice kann die Tabelle öffnen.

--
Hans-Peter
Hans-Peter
-
- Rekursionen-Architekt
- Beiträge: 371
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
mein MS Office 2019 Prof. Plus
öffnet DBFs die ich wie Tom schreibt nach Umbenennen in XLS ebenso wie eine DBF.
Ich mache das über
a) öffnen - Ordner - alle Dateitypen anzeigen (*.*), oder
b) einfach die Datei auf das offene Excel schieben.
öffnet DBFs die ich wie Tom schreibt nach Umbenennen in XLS ebenso wie eine DBF.
Ich mache das über
a) öffnen - Ordner - alle Dateitypen anzeigen (*.*), oder
b) einfach die Datei auf das offene Excel schieben.
Gruß
Roland
Roland
- HaPe
- Programmier-Gott
- Beiträge: 1010
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 17 Mal
Re: Datentransfer von .dbf Datei auf Exceldatei?
Hallo Zusammen !

Mit einer dBase IV/5-Tabelle geht das, mit einer Xbase++-Tabelle auch, aber leider nicht mit Foxpro-DBFb) einfach die Datei auf das offene Excel schieben.

--
Hans-Peter
Hans-Peter
- brandelh
- Foren-Moderator
- Beiträge: 15794
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 87 Mal
- Danksagung erhalten: 43 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
Hallo
es gibt da bei den Beispielen eine Datei:
...\XPPW32\source\samples\activex\msexcel\excel1.prg
es gibt da bei den Beispielen eine Datei:
...\XPPW32\source\samples\activex\msexcel\excel1.prg
Code: Alles auswählen
//////////////////////////////////////////////////////////////////////
//
// EXCEL1.PRG
//
// Copyright:
// Alaska Software, (c) 2002-2009. Alle Rechte vorbehalten.
//
// Inhalt:
// Dieses Beispiel zeigt den einfachsten Weg, eine DBF-Tabelle
// in eine Excel-Datei zu exportieren
//
// Bemerkungen:
// Mit MS Excel wird die DBF-Tabelle in einem Workbook
// geoeffnet, und dann als Excel-Datei gespeichert.
//
// Activex.ch ist Teil der Standardinstallation. Die Datei
// Excel.ch wurde mit tlb2ch.exe generiert. Dieses Werkzeug
// ist ebenfalls Teil der Xbase++-Installation und erzeugt
// eine Header-Datei mit allen Konstanten einer ActiveX-
// Komponente. Mehr Informationen koennen der Xbase++
// Online-Hilfe entnommen werden.
//
// Syntax:
//
// Return:
//
//////////////////////////////////////////////////////////////////////
#include "activex.ch"
#include "excel-2010.ch"
//////////////////////////////////////////////////////////////////////
// Main()-Prozedur der Anwendung
//////////////////////////////////////////////////////////////////////
PROCEDURE main
LOCAL oExcel, oBook
LOCAL cSDir, cTDir
// Erzeugen eines "Excel.Application"-Objektes
oExcel := CreateObject("Excel.Application")
IF Empty( oExcel )
MsgBox( "Excel ist nicht installiert" )
RETURN
else
MsgBox( "Excel (Version: "+var2char(oExcel:version)+") ist installiert !" )
ENDIF
// Vermeiden von Nachrichten wie "Die Datei
// existiert bereits". Sicherstellen, dass
// die Excel-Anwendung sichtbar ist.
oExcel:DisplayAlerts := .F.
oExcel:visible := .T.
// Das Quellverzeichnis ist das Verzeichnis mit
// den DBF-Tabellen der Xbase++-Beispielkollektion.
// Das Zielverzeichnis ist das Verzeichnis der
// Anwendung.
cTDir := CurDrive()+":\"+CurDir()
cSDir := cTDir + "\..\..\data"
// Eine DBF-Tabelle in einem Workbook oeffnen.
oBook := oExcel:workbooks:Open(cSDir+"\customer.dbf")
// Das Workbook wird mit einem neuen Namen abgespeichert.
// Ein voll qualifizierter Pfad muss angegeben werden.
// xlWorkbookNormal erzeugt eine normale Excel-Datei.
oBook:SaveAs( cTDir+"\MyExcel" , xlWorkbookDefault ) // xlWorkbookNormal )
// Beenden von Excel und Zerstoeren des Anwendungs-
// objektes
oExcel:Quit()
oExcel:Destroy()
WAIT
RETURN
Gruß
Hubert
Hubert
-
- Rekursionen-Architekt
- Beiträge: 371
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
- HaPe
- Programmier-Gott
- Beiträge: 1010
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 17 Mal
Re: Datentransfer von .dbf Datei auf Exceldatei?
Hallo Roland !
Die DBFs muss ich aber auch nicht umbennen auf Endung XLS; DBF reinziehen oder Öffnen geht auch.
Liegt wohl an der DBF-Header-Codierung.
Da geht es auch, jedoch nicht mit einer Foxpro-DBF > Version 2.6und über das "normale" Öffnen...?Mit einer dBase IV/5-Tabelle geht das, mit einer Xbase++-Tabelle auch, aber leider nicht mit Foxpro-DBF
Die DBFs muss ich aber auch nicht umbennen auf Endung XLS; DBF reinziehen oder Öffnen geht auch.
Liegt wohl an der DBF-Header-Codierung.
--
Hans-Peter
Hans-Peter
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9877
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 138 Mal
- Danksagung erhalten: 470 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
Umbenennen (oder kopieren und neu benennen) ist ja auch nur nötig, wenn man will, dass es mit einem Doppelklick auf den Dateinamen klappt.
Herzlich,
Tom
Tom
-
- Rekursionen-Architekt
- Beiträge: 371
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
...von mir gelöscht da unsinnig
Zuletzt geändert von RolandG am Mi, 19. Mär 2025 9:04, insgesamt 1-mal geändert.
Gruß
Roland
Roland
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9877
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 138 Mal
- Danksagung erhalten: 470 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
Wenn Du Excel bzw. Office installierst, setzt sich das als Standardprogramm für alle Office-Dokumente. Ich würde meinen, > 90 Prozent der "Normalnutzer" belassen es auch dabei. Und "besser" ist subjektiv. 

Herzlich,
Tom
Tom
- azzo
- 1000 working lines a day
- Beiträge: 867
- Registriert: So, 28. Mär 2010 19:21
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 21 Mal
Re: Datentransfer von .dbf Datei auf Exceldatei?
Die bloße Änderung der Dateiendung von *.dbf zu *.xls ist keine echte Konvertierung und führt oft zu fehlerhaften oder unvollständigen Daten, insbesondere gehen Memo-Felder verloren.
-
- Rekursionen-Architekt
- Beiträge: 371
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
...von mir gelöscht da unsinnig
Zuletzt geändert von RolandG am Mi, 19. Mär 2025 9:04, insgesamt 1-mal geändert.
Gruß
Roland
Roland
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9877
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 138 Mal
- Danksagung erhalten: 470 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
Ich fürchte, ich verstehe Dich nicht, Roland. XLS steht als Endung für die älteren Excel-Dateiformate. Mit Excel macht man total haariges Tabellenzeugs. Das geht mit "Editoren" nicht, und wenn ich eine Excel-Tabelle in einem "Editor" öffne, sehe ich originelle Dinge, aber keine (ggf. multidimensionale) Tabelle.
Herzlich,
Tom
Tom
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9877
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 138 Mal
- Danksagung erhalten: 470 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
Selbstverständlich sollte man keine Produktivtabelle einfach umbenennen, und das macht auch niemand, würde ich mal behaupten, jedenfalls niemand von uns. Und in den meisten Fällen ist das Ergebnis sehr gut. Wenn es das im konkreten Fall nicht ist, sucht man halt einen alternativen Weg. Wenn es für den konkreten Fall die schnellste Lösung ist, macht man es. Das ist keine Glaubensfrage.Die bloße Änderung der Dateiendung von *.dbf zu *.xls ist keine echte Konvertierung und führt oft zu fehlerhaften oder unvollständigen Daten, insbesondere gehen Memo-Felder verloren.
Herzlich,
Tom
Tom
-
- Rekursionen-Architekt
- Beiträge: 371
- Registriert: Mi, 09. Jan 2019 16:02
- Wohnort: Neresheim
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
SORRY - mein Fehler! Mein Hirn wird löchrig...
Habe für ein anderes Projekt mit XLS-Dateien zu tun die ein anderes Format haben (ähnlich XLM), das habe ich verwechselt und vergessen.
Also alles OK - ziehe meine Einwände und Bemerkungen zurück
Habe für ein anderes Projekt mit XLS-Dateien zu tun die ein anderes Format haben (ähnlich XLM), das habe ich verwechselt und vergessen.
Also alles OK - ziehe meine Einwände und Bemerkungen zurück

Gruß
Roland
Roland
- AUGE_OHR
- Marvin
- Beiträge: 12989
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 20 Mal
- Danksagung erhalten: 51 Mal
Re: Datentransfer von .dbf Datei auf Exceldatei?
hi,
unter Xbase++ war IMHO die schnellste Methode per ActiveX den Bereich "vorzudefinieren" und dann die DBF Datei als Array an den "Definierten" Bereich zu übergeben.
ein weitere Möglichkeit ist ADO mit der man DBF Daten nach Excel bekommt
das "öffnen" von DBF Dateien in Excel funktionierte in "alten Version" nur wenn entsprechende "Filter" installiert waren die es nicht mehr für aktuelle Excel Versionen gibt.
zu erwähnen ist das es für Harbour die DrXls.LIB gibt (sehr schnell)
unter Xbase++ war IMHO die schnellste Methode per ActiveX den Bereich "vorzudefinieren" und dann die DBF Datei als Array an den "Definierten" Bereich zu übergeben.
ein weitere Möglichkeit ist ADO mit der man DBF Daten nach Excel bekommt
das "öffnen" von DBF Dateien in Excel funktionierte in "alten Version" nur wenn entsprechende "Filter" installiert waren die es nicht mehr für aktuelle Excel Versionen gibt.
zu erwähnen ist das es für Harbour die DrXls.LIB gibt (sehr schnell)
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15794
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 87 Mal
- Danksagung erhalten: 43 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
Direkt aus Excel heraus über die Menüs wird es zumindest gut versteckt, aber über ActiveX habe ich das oben erwähnte Beispiel von Alaska (abgewandelt) schon seit Jahren im Einsatz, die aktuellste Excel-Version war 2021.
Warum sollten die den alten Code entfernen ?
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12989
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 20 Mal
- Danksagung erhalten: 51 Mal
Re: Datentransfer von .dbf Datei auf Exceldatei?
hi Hubert,
früher konnte man DBF Dateien mit EXCEL "öffnen", danach waren die für xBase Anwendungen meistens "kaputt".
das wurde in den neueren EXCEL Version korrigiert bzw. der Optionale "FILTER" wird nicht mehr ausgeliefert.
Ich meinte mit "alten Version" EXCEL, nicht Xbase++
früher konnte man DBF Dateien mit EXCEL "öffnen", danach waren die für xBase Anwendungen meistens "kaputt".
das wurde in den neueren EXCEL Version korrigiert bzw. der Optionale "FILTER" wird nicht mehr ausgeliefert.
gruss by OHR
Jimmy
Jimmy
- HaPe
- Programmier-Gott
- Beiträge: 1010
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 17 Mal
Re: Datentransfer von .dbf Datei auf Exceldatei?
Hallo Hubert !
Und zeitgleich ging das Speichern als DBF mit Excel-Automation nicht mehr
Zumindest das Speichern unter als DBF ist seit Excel 2013 oder so nicht mehr möglich.Warum sollten die den alten Code entfernen ?
Und zeitgleich ging das Speichern als DBF mit Excel-Automation nicht mehr

--
Hans-Peter
Hans-Peter
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9877
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 138 Mal
- Danksagung erhalten: 470 Mal
- Kontaktdaten:
Re: Datentransfer von .dbf Datei auf Exceldatei?
Das kann man nach wie vor problemlos mit den meisten DBF-Tabellen, wenn man ihnen die Endung "XLS" verpasst - oder sie einfach im "Öffnen"-Dialog auswählt. Da muss auch kein Filter mit- oder nachinstalliert sein. Alle aktuellen Excel-Versionen können das. Und kaputtgehen würden die Tabellen nur, wenn man sie speichert, was im DBF-Format tatsächlich nicht mehr möglich ist.früher konnte man DBF Dateien mit EXCEL "öffnen", danach waren die für xBase Anwendungen meistens "kaputt".
Ich lasse es stehen, muss mich aber korrigieren. Ich habe wohl einfach nur Glück, dass mein Office 2019 und Office 2022 das können.
Herzlich,
Tom
Tom
- HaPe
- Programmier-Gott
- Beiträge: 1010
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 17 Mal
Re: Datentransfer von .dbf Datei auf Exceldatei?
Hallo Zusammen !
Zur Info: LibreOffice Calc kann Excel-Tabellen als DBF speichern
Zur Info: LibreOffice Calc kann Excel-Tabellen als DBF speichern

--
Hans-Peter
Hans-Peter