![]() |
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. |
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. |
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! |
AW: Excel generieren ohne Office
Seit Office2007 setzt man aber auf das Office
![]() |
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. |
AW: Excel generieren ohne Office
Ich habe eine XMLX und ODS Export Library geschrieben:
![]() |
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: |
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. |
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 |
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 13:23 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 by Thomas Breitkreuz