Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi exel tabelle erstellen (https://www.delphipraxis.net/69487-exel-tabelle-erstellen.html)

happyaura 15. Mai 2006 22:56


exel tabelle erstellen
 
moinmoin,

gibt es eine möglichst einfache möglichkeit, einen wert in eine Exeltabelle aus einem Delphi programm einzufügen, bzw die tabelle neu zu erstellen?
Als programmablauf stelle ich mit in etwa sowas vor:
ein wert fällt vom himmel und will gerne in eine exeltabelle eingefügt werden. zeile und spalte können ggf bekannt sein, alternativ ins erste freie feld der xten spalte. danach wird die datei geschlossen, bis der nächste wert vom himmel fällt.

Im moment realisiere ich das so, dass ich die zeilen in eine textdatei schreibe und die spalten mit semikolon trenne. so lässt sich das gut in exel importieren, aber vielleicht gibt es ja einen tollen alternativweg, der mir diesen schritt erspart.

Ist nur ein nice-to-have Feature, dementsprechen wollt ich eigentlich nicht zu viel Arbeit reinstecken müssen. Vielleicht hat ja jemand einen tolle idee für mich. Die suche im forum hat mich noch nicht wirklich weitergebracht. Das problem ist, dass die Einzutragenen Felder zeitlich sehr weit auseinander liegen und es durchaus passieren kann, dass das Programm zwischendurch geschlossen und neu gestartet werden kann...

Andere Frage, wieviele zeilen hat ein Exelblatt? ich arbeite mit Open Office, da hab ich 65536 zeilen. Vielleicht könnt ihr mir sagen, wie das in verschiedenen Exelversionen aussieht.

Besten Dank,
Martin

jensw_2000 15. Mai 2006 23:52

Re: exel tabelle erstellen
 
Es wird für dich kaum Alternativen geben, da du mit D6 Personal Edition arbeitest.
Dort fehlen TDataset und Nachfahren.

Bei den Professional Versionen (und höher) könntest du dein Problem über ADO lösen.
Hier eine kleine Erklärung dazu.
In der Suche findest du unter den Stichwörtern EXCEL + ADO weitere Tips, die du leider nicht benutzen kannst.

Was dich eventuell weiterbringen kann ist BIFF.
Dazu findest du über die Suche einige brauchbare Grundlagen.
BIFF ermöglicht es dir, "native" Excel Dateien zu lesen und zu schreiben.

Ein kleiner Nachteil ist, das BIFF XLS Dateien mit nur einer "Arbeitsbereichsseite" (ohne Arbeitsmappe) erzeugt.
Excel kommt damit zurecht. Wenn du die XLS mit anderen Programmen verarbeiten willst, kann es aber stellenweise zu Problemen kommen, weil z.B. eine Arbeitsmappe erwartet wird.

XLS Dateien, die mit BIFF erstellt wurden, kannst du z.B. nicht wie oben beschrieben über ADO öffnen ohne diese vorher einmal mit Excel geöffnet und wieder gespeichert zu haben.


Schöne Grüße,
Jens
:hi:

mikhal 16. Mai 2006 05:22

Re: exel tabelle erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Vielleicht hilft dir die Klasse XLS weiter. Ist Freeware und habe ich vor einiger Zeit im Netz gefunden. Ist nicht wirklich perfekt, reicht aber für einfache Excel-Tabellen aus. Näheres in der Datei XLS-Datei und im Demo.

Grüße
Mikhal

mkinzler 16. Mai 2006 05:35

Re: exel tabelle erstellen
 
Du kannst aber auch OLE verwenden um Excel zu automatisieren und so per API Excel neue Dokumente erzeugen zu lassen oder vorhandenen zu manipulieren (z.B. Daten einfügen).

happyaura 16. Mai 2006 17:46

Re: exel tabelle erstellen
 
besten Dank für die antworten, ich werd am WE mal schauen, was ich da an möglichkeiten rauspflücken kann. Ich wollt ja zu delphi 2005 wechseln, aber das scheiterte daran, dass ich auf LW C gerade keine 1,3 GB für die .net komponente hatte und nicht so ohne weiteres freischaufeln konnte. in sofern hab ich die idee dann schnell wieder verworfen, delphi6 hats bis jetzt auch immer prima getan.
Gruß Martin

jensw_2000 16. Mai 2006 18:45

Re: exel tabelle erstellen
 
Ich wollte deine PE nicht "runtermachen". Bitte nicht falsch verstehen.

BIFF ist auch keine so schlechte Variante. Die von mikhal beigefügte XLS Klasse kapselt BIFF.

Der Nachteil ist halt immer nur, das eine via BIFF erzeugte XLS Datei immer nur eine Arbeitsbereichsseite enthält und kein Workbook. Excel konvertieren die Datei, aber andere Applikationen kommen damit nicht zwangsläufig zurecht.







Schöne Grüße,
Jens
:hi:

happyaura 16. Mai 2006 23:58

Re: exel tabelle erstellen
 
@jens
hab es auch nicht als angriff gegen mein Delphi empfunden, kam also nicht falsch an.

Ich hab mal das Beispielprojekt von der XLS Klasse überflogen, das könnte schon soweit das richtige sein. Es geht erst einmal darum, nur daten (=messwerte) in eine Tabelle einzutragen. Welche Kurven daraus gebastelt werden und welche Rückschlüsse man aus den Daten zieht, ist dann von Fall zu Fall verschieden. Da werd ich am WE mal schauen, was für Szenarien genau auftreten können und welche davon ggf probleme machen können.

Vielen dank,
Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz