XLS und XLSX direkt ohne Excel erzeugen ... libXL

Moderator: Moderatoren

Antworten
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

XLS und XLSX direkt ohne Excel erzeugen ... libXL

Beitrag von brandelh »

Werner_Bayern hat geschrieben:Dazu kann ich eine Empfehlung abgeben:
http://www.libxl.com
Damit kann man Excel lesen und schreiben, ohne Excel! Und das sehr schnell! Setze es seit 1 Jahr in einem Tool ein, was früher 7-8 Stunden dauerte (Öffnen, Auslesen und Schreiben einer Ergebnisdatei von ca. 150 Excel-Dateien), dauert jetzt keine 30 Minuten.
Kann xls und xlsx.
Und der Support ist gut und schnell.
das muss ich in einem eigenen Thema aufgreifen ...

hast du Codebeispiele wie du die DLL ansprichst ?
Reicht Xbase pur, oder besser ot4xb ?
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XLS und XLSX direkt ohne Excel erzeugen ... libXL

Beitrag von brandelh »

In der HTML Hilfe habe ich DOUBLE als Parameter gelesen, also muss man mit der OT4XB arbeiten (eventuell mit BAB, aber die OT4XB ist besser).
Und da sind noch andere Parameter, Pointer erkenne ich am * nach char etc., aber was sind ** wie hier:

Code: Alles auswählen

xlBookLoadRawA(BookHandle handle, const char* data, unsigned size);    
xlBookSaveRawA(BookHandle handle, const char** data, unsigned* size);  
vermutlich habe ich das sogar schon mal nachgefragt, aber "**" als Suchbegriff geht nicht :wink:
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: XLS und XLSX direkt ohne Excel erzeugen ... libXL

Beitrag von Martin Altmann »

Ich würde mal sagen: Pointer of Pointer! Muss also doppelt dereferenziert werden :!:
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: XLS und XLSX direkt ohne Excel erzeugen ... libXL

Beitrag von Koverhage »

Von: http://www.peace-software.de/ckurs12.html
5. Pointer auf Pointer

Um die Sache zu verkomplizieren, kann man sich auch Pointer deklarieren, welche auf einen anderen Pointer zeigen, wird z.B. häufig angewendet, wenn man eine Anwendung mit eigenem memory managment schreibt. Kurz nebenbei erklärt, man benutzt einen Pointer, der auf die Daten zeigt, werden die Daten im Speicher verschoben, wird dieser Pointer aktualisiert. Dann deklariert man sich einen Masterpointer, welcher auf diesen Datenpointer zeigt. Der Masterpointer verändert sich nicht, er zeigt immer nur auf den anderen Pointer, man kann ihn zu jeder Zeit an alle Funktionen übergeben. Um an die Daten zu kommen, muß man ihn nur zweimal dereferenzieren.

Man deklariert einen Pointer auf einen Pointer mit zwei Sternchen '**' , hier mal ein Beispiel:

int x = 42;
int *myptr, **masterptr;

myptr = &x; // myptr zeigt auf x
masterptr = &myptr; // masterptr zeigt auf myptr
printf("**masterptr: %d\n", **masterptr); // masterptr wird zweimal dereferenziert
Gruß
Klaus
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XLS und XLSX direkt ohne Excel erzeugen ... libXL

Beitrag von Werner_Bayern »

Servus Hubert,

hab das jetzt erst zufällig gelesen. Die Beispiele hast Du ja vor einigen Wochen alle von mir per Mail bekommen. :)
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XLS und XLSX direkt ohne Excel erzeugen ... libXL

Beitrag von brandelh »

Danke für die Beispiele, die haben mir den Einstieg erleichtert ... ich hatte Anfangs Schwierigkeiten, da in der onlinehilfe C++ eingestellt war ... wir brauchen aber C Syntax für die DLL ;-)
Mittlerweile habe ich die Beschreibung aus beiden gemischt (Datentypen von C++ sind besser), Pablo bei den ** gefragt und meinen code generator damit gefüttert.

Das Resultat habe ich als 1.00 veröffentlicht (die 1.01 bereinigt die ersten gefundenen Fehler ;-) )
Gruß
Hubert
Antworten