Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Excel --> RowCount? (https://www.delphipraxis.net/135282-excel-rowcount.html)

Stef_One 8. Jun 2009 13:46


Excel --> RowCount?
 
Hallo Zusammen,

kennt jemand von euch den Code mit dem ich den RowCount eines Excel-Sheets bestimmen kann?
(Momentan öffne ich das Excelfile mit OLE)

Jens Schumann 8. Jun 2009 13:56

Re: Excel --> RowCount?
 
Hallo,
hier ein Hinweis
Delphi-Quellcode:
TExcelWorksheet.Cells.SpecialCells(xlLastCell,EmptyParam).Row;
liefert die Zeilennummer der letzten mit Daten gefüllten Zeile

Stef_One 8. Jun 2009 14:12

Re: Excel --> RowCount?
 
Wunderbar das funst! :-D danke Jens

kleiner Hinweis falls noch jemand vor diesem Problem steht
die Konstante "xlLastCell" hat den wert 11

Nighthawk1310 8. Jun 2009 16:49

Re: Excel --> RowCount?
 
Hier noch eine Möglichkeit (über OLE und nicht über ActiveX):

Delphi-Quellcode:
var XLApp, XLSheet : OLEVariant;
    iMaxRow, iMaxColumn : Integer;
    sXLSFile : String; //Dateiname
Delphi-Quellcode:
    XLApp := CreateOleObject('Excel.Application'); //Application Objekt erstellen
    XLApp.Workbooks.Open(sXLSFile);               //Datei öffnen
    XLSheet := XLApp.Workbooks[1].WorkSheets[1];  //Tabelle x in Arbeitsmappe y der Variablen zuweisen (hier 1)
    iMaxRow := XLSheet.UsedRange.Rows.Count;      //Maximum der Benutzten Zeilen erfragen
    iMaxColumn := XLSheet.UsedRange.Columns.Count;      //Maximum der Benutzten Spalten erfragen

Jens Schumann 8. Jun 2009 17:45

Re: Excel --> RowCount?
 
Zitat:

Zitat von Nighthawk1310
Hier noch eine Möglichkeit (über OLE und nicht über ActiveX):

Hinweis: Beide Verfahren laufen über OLE.
Unterschied: Mein Vorschlag verwendet die frühe und Nighthawk1310 die späte Bindung.

Chemiker 8. Jun 2009 20:38

Re: Excel --> RowCount?
 
Hallo Stef_One,

Delphi-Quellcode:
TExcelWorksheet.Cells.SpecialCells(xlLastCell,EmptyParam).Row;
Wenn man so, die letzte Zeile bestimmen will, sollte man nur wissen was man macht. Es kann zu einem falschen Ergebnis führen, wenn man z.B. eine Zelle formatiert, dann wird diese Zelle auch als belegt mit gezählt.

Bis bald Chemiker


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