Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Excel Export, frühe oder späte Bindung (https://www.delphipraxis.net/137562-excel-export-fruehe-oder-spaete-bindung.html)

hoika 23. Jul 2009 13:54


Excel Export, frühe oder späte Bindung
 
Hallo #,

nu is der Excel-Export endlich fertsch !!!! *freu*
Da ich den Code teilweise aus dem Netz habe,
habe ich späte Bindung (OleVariant) benutzt.

Bei mir, Excel2000, klappt es auch schön.
Leider ist es etwas langsam, da ich je nach Zelle noch ein paar Formatierungen machen,
ist es ewas langsam.

Ich hatte früher mal per TExcelApplication auch etwas rumgebastelt.

Mit TExcelApplication sollte es ja etwas schneller gehen, oder nicht ?

Ist der Code dann auch unter anderen Excel-Versionen (z.B. Excel XP/ Excel2007) noch lauffähig,
wenn ich die Excel2000-Typ-Bibliothek benutze ?

Kennt sich da jemand mit aus ?


Heiko

mkinzler 23. Jul 2009 14:01

Re: Excel Export, frühe oder späte Bindung
 
Zitat:

Mit TExcelApplication sollte es ja etwas schneller gehen, oder nicht ?
Nein, weil sich ja nur der Weg der Verbindung ändert. Steht diese besteht kein Unterschied mehr.

hoika 23. Jul 2009 14:11

Re: Excel Export, frühe oder späte Bindung
 
Hallo,

sicher ?

Ich mache z.B. sowas .

Delphi-Quellcode:
var
  Sheet: OleVariant;

Sheet := XLApp.Workbooks[1].WorkSheets[1];
Sheet.Name := ASheetName;

      for iCol := 0 to iMaxCols - 1 do
      begin
        theStatusForm.ProgressBar.Position:=
          theStatusForm.ProgressBar.Position+1;
        Application.ProcessMessages;
       
        for iRow := 0 to AGrid.RowCount - 1 do
        begin
          if TryStrToFloat(AGrid.Cells[iCol, iRow], dFloat) then
          begin
            try
              sRef:= RefToCell(iCol+1, iRow+1);

                  Sheet.Range[sRef,sRef].NumberFormat:= sFormat;
Kann ich das was beschleunigen mit frühr Bindung ?

mkinzler 23. Jul 2009 14:25

Re: Excel Export, frühe oder späte Bindung
 
Nein, den OLE/COM ist OLE/COM, ob der Compiler nun weiss, was der ActiveX-Server kann ( frühe Bindung) oder es einfach durchreicht ( späte Bindung)

hoika 23. Jul 2009 14:28

Re: Excel Export, frühe oder späte Bindung
 
Hm,

ich dachte das TExcelApp die Aufrufe über VTable macht,
und sonst es über diesen komischen Dispatch-Kram lief.

Nun ja, dann lass ich mal lieber die Finger von ;)
never change ...


Heiko

Chemiker 23. Jul 2009 20:32

Re: Excel Export, frühe oder späte Bindung
 
Hallo hoika,

ich muss Markus leider wiedersprechen. Du kannst ja einfach mal Zeitmessungen für die beiden Bindungen durchführen mit Deinem Programm. Wichtig ist eigentlich, dass man die Bindung so wenig wie möglich in Anspruch nimmt.

Bis bald Chemiker

hoika 23. Jul 2009 21:08

Re: Excel Export, frühe oder späte Bindung
 
Hallo,

jaaaa,
würde ja heissen, ich muss coden ...

Mal sehen, bald is Wochenende


Heiko

Chemiker 23. Jul 2009 21:16

Re: Excel Export, frühe oder späte Bindung
 
Hallo hoika,

was macht man nicht alles für den DP-Verdienstorden.

Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 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