AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Excel generieren ohne Office

Excel generieren ohne Office

Offene Frage von "Hey Joe"
Ein Thema von Moony · begonnen am 28. Okt 2011 · letzter Beitrag vom 23. Mär 2020
Antwort Antwort
Seite 2 von 4     12 34   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
35.439 Beiträge
 
Delphi 10.3 Rio
 
#11

AW: Excel generieren ohne Office

  Alt 24. Dez 2011, 13:51
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (24. Dez 2011 um 13:55 Uhr)
  Mit Zitat antworten Zitat
marky522

Registriert seit: 30. Okt 2006
29 Beiträge
 
Delphi XE2 Professional
 
#12

AW: Excel generieren ohne Office

  Alt 25. Dez 2011, 18:42
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.

Geändert von marky522 (24. Dez 2014 um 06:14 Uhr)
  Mit Zitat antworten Zitat
marky522

Registriert seit: 30. Okt 2006
29 Beiträge
 
Delphi XE2 Professional
 
#13

AW: Excel generieren ohne Office

  Alt 22. Jan 2012, 16:23
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!

Geändert von marky522 (24. Dez 2014 um 06:14 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.537 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#14

AW: Excel generieren ohne Office

  Alt 22. Jan 2012, 20:36
Seit Office2007 setzt man aber auf das Office Open XML Format. Dabei handelt es sich um ein Zip-Archiv mit XML-Dateien.
Markus Kinzler
  Mit Zitat antworten Zitat
marky522

Registriert seit: 30. Okt 2006
29 Beiträge
 
Delphi XE2 Professional
 
#15

AW: Excel generieren ohne Office

  Alt 23. Jan 2012, 07:32
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.
  Mit Zitat antworten Zitat
oPok

Registriert seit: 20. Apr 2006
3 Beiträge
 
#16

AW: Excel generieren ohne Office

  Alt 1. Feb 2012, 15:07
Ich habe eine XMLX und ODS Export Library geschrieben: XMLX Excel und ODS OpenOffice Export für Delphi... Keine DLL, inklusive Quelltext.
  Mit Zitat antworten Zitat
karin_ro

Registriert seit: 8. Okt 2006
Ort: Balingen
4 Beiträge
 
Delphi XE2 Enterprise
 
#17

AW: Excel generieren ohne Office

  Alt 27. Jun 2012, 15:27
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!!!!
Es grüsst die Alb

Karin
  Mit Zitat antworten Zitat
marky522

Registriert seit: 30. Okt 2006
29 Beiträge
 
Delphi XE2 Professional
 
#18

AW: Excel generieren ohne Office

  Alt 28. Jun 2012, 19:57
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.
  Mit Zitat antworten Zitat
marky522

Registriert seit: 30. Okt 2006
29 Beiträge
 
Delphi XE2 Professional
 
#19

AW: Excel generieren ohne Office

  Alt 29. Jun 2012, 10:53
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
  Mit Zitat antworten Zitat
marky522

Registriert seit: 30. Okt 2006
29 Beiträge
 
Delphi XE2 Professional
 
#20

AW: Excel generieren ohne Office

  Alt 20. Mär 2014, 18:58
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!

Geändert von marky522 (24. Dez 2014 um 06:14 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf