Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Excel generieren ohne Office (https://www.delphipraxis.net/164093-excel-generieren-ohne-office.html)

himitsu 24. Dez 2011 13:51

AW: Excel generieren ohne Office
 
Mit Delphi 7 und wenn man alle Interfaces (virtuelle Methoden) nutzt und oder die Codeoptimierung deaktiviert ist, dann funktioniert es.

Ab Delphi 2009 muß man mit dem PChar aufpassen und sobald Delphi "nichtgenutzte" Methoden aus der VMT entfernt, dann stimmen die Indize der nachfolgenden Methoden nicht mehr und das war's dann > Exceptions wären das Mindeste.

marky522 25. Dez 2011 18:42

AW: Excel generieren ohne Office
 
Na gut Himitsu, du hast mich überredet! Ich habe die Interface-Proceduren so
angepasst, dass die Klasse innerhalb der DLL bleibt.

Der Nachteil dieser Implementierung ist, dass jetzt von einer Application aus nicht
gleichzeitig (parallel), sondern nur nacheinander mehrere Excel Dateien erzeugt werden können, da nur immer
eine Instanz der Klasse angelegt sein kann (und zwar innerhalb der DLL).
Ausserdem musste ich für jede Eigenschaft eine Procedure anlegen, die das Setzten (Ändern)
ermöglicht. Das war aufwendiger als ich dachte. :(

Natürlich hat sich durch die Änderung die Schnittstelle komplett geändert, sodass ich
das Demoprojekt komplett überarbeiten musste.

marky522 22. Jan 2012 16:23

AW: Excel generieren ohne Office
 
Hallo,

ich musste die beiden Versionen der DLLs Usbiff8.dll und Usbiff8V2.dll updaten, da
ab ca 8000 unterschiedlichen Strings in einem Excel-Dokument ein Record überlief.

Ich habe beide DLLs und die beiden Demoapplikationen mit angehängt, es hat sich jedoch
jeweils nur die DLL geändert.

Viel Spaß beim testen!

mkinzler 22. Jan 2012 20:36

AW: Excel generieren ohne Office
 
Seit Office2007 setzt man aber auf das Office Open XML Format. Dabei handelt es sich um ein Zip-Archiv mit XML-Dateien.

marky522 23. Jan 2012 07:32

AW: Excel generieren ohne Office
 
Hallo,

ja das stimmt! Jedoch ist das xls-Dateiformat derzeit noch verbreiteter, daher habe ich mich
entschieden dieses zunächt zu generieren.

Meiner Meinung nach ist das Open XML Format eher einfacher zu implementieren als das Biff8 Format.

oPok 1. Feb 2012 15:07

AW: Excel generieren ohne Office
 
Ich habe eine XMLX und ODS Export Library geschrieben: XMLX Excel und ODS OpenOffice Export für Delphi... Keine DLL, inklusive Quelltext.

karin_ro 27. Jun 2012 15:27

AW: Excel generieren ohne Office
 
Ich habe das mal versucht, das klappt einwandfrei.
Wenn Man die Stringfelder umdefiniert als AnsiString, so
gibt es auch mit Delphi XE2 keine Probleme.
Jetzt habe ich noch 3 Fragen

1. Wie kann an eine bestehende Exceldatei angefügt werden
2. Wo finde ich Infos, zur Formattierung
3. Klappt das auch umgekehrt, so dass eine Datei eingelesen werden kann.

Wa da jemand Infos hätte, wäre das echt Super!!!!
:lol:

marky522 28. Jun 2012 19:57

AW: Excel generieren ohne Office
 
Hallo,

zu Deinen Fragen:

1) Es kann nichts an eine bestehende Excel Datei angefügt werden. Die Datei muss von
von Grund auf erstellt werden.

2) Infos zum Biff8 Format sind in folgenden zwei Dateien enthalten, die man durch
"googlen" im Internet findet:
-MICROSOFT OFFICE EXCEL 97-2007
BINARY FILE FORMAT SPECIFICATION
[*.xls (97-2007) format]
-OpenOffice.org's Documentation of the
Microsoft Excel File Format
Excel Versions 2, 3, 4, 5, 95, 97, 2000, XP, 2003

In der DLL sind die wichtigsten und nötigsten Formate entsprechend diese beiden
Dokumente implementiert.

3) Nein! Dazu muss die Datei im Biff8 Format analysiert werden.
Ich habe das nicht in der DLL implementiert.

marky522 29. Jun 2012 10:53

AW: Excel generieren ohne Office
 
Noch ein kleiner Nachtrag:

Die mit Hilfe der oben genannten Dokumente erstellte Biff8 Datei muss dann
noch in Micropsoft Compound File Format eingelabert werden.
Dies geschieht gemäß dieses Dokuments:

-OpenOffice.org's Documentation of the
Microsoft Compound Document
File Format

Das Dokument kann ebenfalls durch "googeln" gefunden werden.

MfG

marky522 20. Mär 2014 18:58

AW: Excel generieren ohne Office
 
Hallo,

ich habe beide DLL-Versionen erneut upgedated - Hauptänderungen:

1) Generierung von Exceldateien mit vielen Zeilen pro Arbeitsblatt geht erheblich schneller.
2) Es können sämtliche im System verfügbare Fonts verwendet werden.
3) Fehler wurde beseitigt, so dass auch "sehr große" Dateien erzeugt werden können
4) Interface wurde komplett auf PAnsiChar umgestellt, so dass sich die DLLs auch mit Unicode-fähigem Delphi nutzen lassen - Getestet wurden die DLLs mit D7, D2007 und XE2.

Viel Spaß damit!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:42 Uhr.
Seite 2 von 4     12 34      

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