Einzelnen Beitrag anzeigen

Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Excel-Daten lesen sehr langsam

  Alt 17. Okt 2008, 20:31
Hallo hoika,

Du musst versuchen die Procedure dahin zu überarbeiten das nur einmal die Zelle in Excel gelesen wird, weil das die meiste Zeit verbraucht. Am besten einmal auslesen und dann den Wert in StringGrid reinsetzen (oder auch nicht). So wie es jetzt ist, liest Du den Wert 2-mal aus. Als weiteres ist der Range-Befehl beim Auslesen einzelner Zelle langsamer als der Cells- Befehl.

Zitat:
Wie man sieht, alde ich jede Zelle einzeln das ExcelWorksheet0.Range
könnte mir doch aber die komplette Spalte zurückgeben,
was hat Value aber dann für einen Typ (ValueList ?),
und wie greife ich darauf zu ?
Value ist OleVariant.
Du muss Dir dann einen Array aus Variant mit Create erstellen.

Delphi-Quellcode:
Var
   oArray: OleVariant;
begin
   oArray:= VarArrayCreate([Zeile,Spalte]),varVariant);

  oArray := Range [‘A1’,’A10’].Value;
ich habe das jetzt nicht getestet, aber so in etwa müsste das Aussehen.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat