AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C++ Builder: Excel Datei per ADO erstellen und in DBGrid laden
Thema durchsuchen
Ansicht
Themen-Optionen

Builder: Excel Datei per ADO erstellen und in DBGrid laden

Ein Thema von Mordhorst3k · begonnen am 18. Jul 2021 · letzter Beitrag vom 28. Jul 2021
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.232 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 18. Jul 2021, 09:03
Ich halte den Ansatz für sehr ungünstig gewählt.
Deine Daten kannst du dir auch ohne ADO/Excel-OLEDB-Verkomplizierung in ein Grid laden.

Und wenn ADO/OLEDB so viel Problem bereitet beim erstellen der Excel-Datei, schreib es doch über die COM-Schnittstelle.
Sollte auch weniger Probleme bereiten als über ADO/OLEDB.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Mordhorst3k

Registriert seit: 18. Jul 2021
4 Beiträge
 
#2

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 18. Jul 2021, 12:57
Für COM braucht man aber scheinbar Excel, das habe ich aber nicht.

Die Kompomnenten die für Office 2000/XP dabei sind, gehen wohl auch über COM. Wenn ich die EXE mit RTL/Packages kompiliere, Linker-Fehler bekomme. Da man für die Excel braucht, habe ich da nicht weiter rumgemacht.

ADO scheint wohl die einzige Möglichkeit zu sein wie es scheint. Aber im Notfall werde ich einfach etwas cheaten, eine leere Excel-Tabelle machen und diese entweder Binär in eine Unit packen, oder als Resource in die EXE. Beides ist aber recht unsauber und ich bin da kein Fan von, vor allem, weil meine Programmierskills nicht die Besten sind.

Trotzdem danke für deinen Tipp/Rat.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.589 Beiträge
 
Delphi 7 Professional
 
#3

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 18. Jul 2021, 13:47
ADO ist halt eine Datenbankschnittstelle und hier wird Excel eben als Datenbank "missbraucht". Von daher muss man beim Erstellen, Schreiben, Lesen, Löschen, ... der "Excel"-Tabelle SQL benutzen.
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
464 Beiträge
 
Delphi 12 Athens
 
#4

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 18. Jul 2021, 14:04
ADO ist halt eine Datenbankschnittstelle und hier wird Excel eben als Datenbank "missbraucht".
Ich musste gerade daran denken, wie oft Excel in deutschen Büros als Datenbank missbraucht wird.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.232 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 18. Jul 2021, 15:17
Für COM braucht man aber scheinbar Excel, das habe ich aber nicht
Es gibt Komponenten welche das Excel-Dateiformat selbst schreiben.
Kosten jedoch immer ein paar € (bzw. mir ist keine Kostenlose bekannt).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Mordhorst3k

Registriert seit: 18. Jul 2021
4 Beiträge
 
#6

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 21. Jul 2021, 19:38
ADO ist halt eine Datenbankschnittstelle und hier wird Excel eben als Datenbank "missbraucht". Von daher muss man beim Erstellen, Schreiben, Lesen, Löschen, ... der "Excel"-Tabelle SQL benutzen.
Als ich SQL probiert habe, kam die Meldung, ISAM unterstützt kein löschen. Vielleicht habe ich es auch falsch gemacht, aber ich habe nichts brauchbares gefunden, was mir bei meinem Problem weitergeholfen hat. Google auch kaum bis wenig hilfreich.


Für COM braucht man aber scheinbar Excel, das habe ich aber nicht
Es gibt Komponenten welche das Excel-Dateiformat selbst schreiben.
Kosten jedoch immer ein paar € (bzw. mir ist keine Kostenlose bekannt).
Für mein kleines privates Projekt (eigentlich ein Tool für einen Freund, der Excel hat, ich aber nicht) lohnt sich das kaufen einer Komponente nicht wirklich.

Geändert von Mordhorst3k (21. Jul 2021 um 19:42 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.589 Beiträge
 
Delphi 7 Professional
 
#7

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 22. Jul 2021, 09:02
Andere Idee:

Wenn er Excel hat, hat er (vermutlich) auch Access, zumindest dürfte die JetEngine vorhanden sein.

Excel kann auch Tabellen aus Accessdatenbanken lesen (siehe Dateiöffnendialog von Excel und dort die Liste der Dateitypen).

Mit Deinem Programm könntest Du von daher einfach eine Accessdatenbank mit entsprechenden Tabellen nutzen, die kann man dann auch per Excel öffnen.

Weitere Alternative:

Excel kann mit CSV-Dateien umgehen. Über ADO i. V. m. dem passenden (eigentlich immer vorhandenen) ODBC-Treiber kann man ebenfalls auf CSV-Dateien zugreifen und diese dann in 'nem DBGrid anzeigen.

Ob's für Deine Aufgabenstellung geeignet ist, vermag ich nicht zu sagen, aber Versuch macht Klug.
  Mit Zitat antworten Zitat
Mordhorst3k

Registriert seit: 18. Jul 2021
4 Beiträge
 
#8

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 27. Jul 2021, 20:42
Andere Idee:

Wenn er Excel hat, hat er (vermutlich) auch Access, zumindest dürfte die JetEngine vorhanden sein.

Excel kann auch Tabellen aus Accessdatenbanken lesen (siehe Dateiöffnendialog von Excel und dort die Liste der Dateitypen).

Mit Deinem Programm könntest Du von daher einfach eine Accessdatenbank mit entsprechenden Tabellen nutzen, die kann man dann auch per Excel öffnen.

Weitere Alternative:

Excel kann mit CSV-Dateien umgehen. Über ADO i. V. m. dem passenden (eigentlich immer vorhandenen) ODBC-Treiber kann man ebenfalls auf CSV-Dateien zugreifen und diese dann in 'nem DBGrid anzeigen.

Ob's für Deine Aufgabenstellung geeignet ist, vermag ich nicht zu sagen, aber Versuch macht Klug.
Danke für die Idee, aber inzwischen hatte ich mich damit abgefunden, dass es eine Zeile mit Header gibt - diese Zeile überschreibe ich, zwar unschön, aber zumindest ist sie weg. Man hat dann im Sheet eine leere Zeile.

Die Wahl auf Excel lag darin, weil er zum einen nur Office 2010 Home hat (da ist kein Access dabei) und Excel-Dateien einfacher zu bearbeiten sind. Es werden aber auch Daten von mehreren Excel Dateien eingelesen und doppelte Einträge gelöscht.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
989 Beiträge
 
Delphi 6 Professional
 
#9

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 28. Jul 2021, 05:36
Hmm...

Die Wahl auf Excel lag darin, weil er zum einen nur Office 2010 Home hat (da ist kein Access dabei) und Excel-Dateien einfacher zu bearbeiten sind. Es werden aber auch Daten von mehreren Excel Dateien eingelesen und doppelte Einträge gelöscht.
Dir ist bewusst, das für die Verwendung von Access Datenbank Dateien (zu mindestens für die alten MDB) keine In Installation von Access unter Windows zusätzlich notwendig ist!

Die Jet Engine zusammen mit den ADO Komponenten kann auf MDB Access Datenbanken direkt zugreifen.
Für die neueren Access Formate muss dann doch der aktuelle Treiber (Kostenlos bei MS) installiert werden.

Per ADO kann dann eine Access Datenbank und deren Tabellen angelegt und verwendet werden...
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
730 Beiträge
 
Delphi XE5 Professional
 
#10

AW: Builder: Excel Datei per ADO erstellen und in DBGrid laden

  Alt 23. Jul 2021, 15:02
Es gibt Komponenten welche das Excel-Dateiformat selbst schreiben. Kosten jedoch immer ein paar € (bzw. mir ist keine Kostenlose bekannt).
Es sieht so aus, daß CnXlsWriter.pas im Verzeichnis

CnVCL-master\Source\DbReport\

von CnPack VCL Components https://github.com/cnpack/cnvcl Excel-Files schreiben kann. Es soll sowohl für Delphi als auch für C++ Builder geeignet sein.

Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz