Datentransfer von .dbf Datei auf Exceldatei?

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Werner
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 126
Registriert: Sa, 18. Mär 2006 16:08

Datentransfer von .dbf Datei auf Exceldatei?

Beitrag von Werner »

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
RolandG
Rekursionen-Architekt
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?

Beitrag von RolandG »

In Excel kannst Du direkt eine DBF öffnen.

Anleitung z.B.
https://dostmann-electronic.de/download ... yffnen.pdf
Gruß
Roland
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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?

Beitrag von Tom »

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.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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?

Beitrag von Tom »

Ach, und dann gibt es noch Huberts HBLibXL:

https://www.xbaseforum.de/viewtopic.php?t=7610&start=50
Herzlich,
Tom
Benutzeravatar
HaPe
Programmier-Gott
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?

Beitrag von HaPe »

Hallo Tom !
Wenn man die Endung einfach gegen "XLS" austauscht, dann sogar mit einem Doppelklick. Die Formate sind nämlich extrem ähnlich.
Mit welcher Excel-Version funktioniert das bei dir?

Mein Excel 2019 kann das nicht. :banghead:

Aber Calc 25.2 von LibreOffice kann die Tabelle öffnen. =D>
--
Hans-Peter
RolandG
Rekursionen-Architekt
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?

Beitrag von RolandG »

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.
Gruß
Roland
Benutzeravatar
HaPe
Programmier-Gott
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?

Beitrag von HaPe »

Hallo Zusammen !
b) einfach die Datei auf das offene Excel schieben.
Mit einer dBase IV/5-Tabelle geht das, mit einer Xbase++-Tabelle auch, aber leider nicht mit Foxpro-DBF :banghead:
--
Hans-Peter
Benutzeravatar
brandelh
Foren-Moderator
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?

Beitrag von brandelh »

Hallo

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
RolandG
Rekursionen-Architekt
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?

Beitrag von RolandG »

HaPe hat geschrieben: Di, 18. Mär 2025 21:10 Mit einer dBase IV/5-Tabelle geht das, mit einer Xbase++-Tabelle auch, aber leider nicht mit Foxpro-DBF :banghead:
und über das "normale" Öffnen...?
Gruß
Roland
Benutzeravatar
HaPe
Programmier-Gott
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?

Beitrag von HaPe »

Hallo Roland !
Mit einer dBase IV/5-Tabelle geht das, mit einer Xbase++-Tabelle auch, aber leider nicht mit Foxpro-DBF :banghead:
und über das "normale" Öffnen...?
Da geht es auch, jedoch nicht mit einer Foxpro-DBF > Version 2.6

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
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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?

Beitrag von Tom »

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
RolandG
Rekursionen-Architekt
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?

Beitrag von RolandG »

...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
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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?

Beitrag von Tom »

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
Benutzeravatar
azzo
1000 working lines a day
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?

Beitrag von azzo »

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.
RolandG
Rekursionen-Architekt
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?

Beitrag von RolandG »

...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
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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?

Beitrag von Tom »

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
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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?

Beitrag von Tom »

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.
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.
Herzlich,
Tom
RolandG
Rekursionen-Architekt
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?

Beitrag von RolandG »

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 :-)
Gruß
Roland
Benutzeravatar
AUGE_OHR
Marvin
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?

Beitrag von AUGE_OHR »

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)
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
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?

Beitrag von brandelh »

AUGE_OHR hat geschrieben: Mi, 19. Mär 2025 16:06 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.
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
Benutzeravatar
AUGE_OHR
Marvin
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?

Beitrag von AUGE_OHR »

hi Hubert,
brandelh hat geschrieben: Do, 20. Mär 2025 16:03 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 ?
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
Benutzeravatar
HaPe
Programmier-Gott
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?

Beitrag von HaPe »

Hallo Hubert !
Warum sollten die den alten Code entfernen ?
Zumindest das Speichern unter als DBF ist seit Excel 2013 oder so nicht mehr möglich.
Und zeitgleich ging das Speichern als DBF mit Excel-Automation nicht mehr :banghead:
--
Hans-Peter
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
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?

Beitrag von Tom »

früher konnte man DBF Dateien mit EXCEL "öffnen", danach waren die für xBase Anwendungen meistens "kaputt".
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.

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
Benutzeravatar
HaPe
Programmier-Gott
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?

Beitrag von HaPe »

Hallo Zusammen !

Zur Info: LibreOffice Calc kann Excel-Tabellen als DBF speichern :D
--
Hans-Peter
Antworten

Zurück zu „Daten und Tabellen“