AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Excel generieren ohne Office
Thema durchsuchen
Ansicht
Themen-Optionen

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
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.201 Beiträge
 
Delphi 12 Athens
 
#1

AW: Excel generieren ohne Office

  Alt 24. Dez 2011, 10:30
Das ist ja nur ein Demoprojekt, welches die grundsätzliche Funktionsweise der DLL zeigen soll
Nur daß der Test nicht funktioniert und mir demnach auch nichts zeigen kann.
Mein Explorer wird nicht virtualisiert (das ist der Standard) und demnach zeigt er mir die C:\test1+1.xls nicht an.


Bezüglich des Objektsharings: Mach aus dem Objekt ein Interface und gut ist es.
PS: Das .Free kann nicht funktionieren, da hier der falsche Speichermanager angesprochen wird.
(und PChar nicht vergessen oder auf WideString umsteigen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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

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

AW: Excel generieren ohne Office

  Alt 24. Dez 2011, 13:21
Zitat:
Nur daß der Test nicht funktioniert und mir demnach auch nichts zeigen kann.
Mein Explorer wird nicht virtualisiert (das ist der Standard) und demnach zeigt er mir die C:\test1+1.xls nicht an.
Na da bin ich aber froh, dass du die Datei doch noch entdeckt hast

Zitat:
Bezüglich des Objektsharings: Mach aus dem Objekt ein Interface und gut ist es.
Da die DLL so funktioniert, wie sie ist, habe ich eigentlich nicht vor sie zu ändern.

Zitat:
PS: Das .Free kann nicht funktionieren, da hier der falsche Speichermanager angesprochen wird.
Ich habe das genauso gemacht, wie in dem berühmten Beispiel einer Objekt-DLL von A. Kosch.
Ausserdem habe ich 500 Excel Dateien in einer Schleife erzeugen lassen und konnte kein Speicherleck in der Anwendung finden
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.201 Beiträge
 
Delphi 12 Athens
 
#3

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.
my Delphi wish list : BugReports/FeatureRequests

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
 
#4

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
 
#5

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.851 Beiträge
 
Delphi 11 Alexandria
 
#6

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
 
#7

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
Antwort Antwort


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 08:57 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