![]() |
Excel Tabelle auslesen
Hallo.
Ich möchte eine EXCEL Tabelle mit Delphi öffnen und die Daten auslesen. Die Tabelle enthällt 2 Karteikarten. Kann mir jemand helfen wie ich das bewerkstellige? MfG, Ronny |
je nachdem was für eine delphi version du hast findest du im Server Reiter der Komponenten-Palette eine komponente namens ExelWorkSheet. Damit sollte es gehen.
Die Delphi-Hilfe dazu ist eigentlich recht gut. |
Excel Tabelle auslesen
Leider bekomme ich keine Hilfe bei der Komponente.
Wieso weis ich nicht. Im Internet finde ich kein passendes HowTo. Kann mir jemand anders behilflich sein? MfG, Ronny |
Hi !
Schau doch einfach mal auf der Site ![]() Excel Automation ein und bekommst dann mehrere Hits angezeigt. Ist als einstieg in die Automation der Officeanwendungen sehr hilfreich. Hilfe bekommst Du deshalb nicht angezeigt, weil es einfach keine Delphihilfe dazu gibt. Delphi erstellt aus den Office-Objekten einfach entsprechende Units, um die Funktionalität zu kapseln. Und da Office ein MS-Produkt ist, kann man es vergessen, vernünftige Hilfe in zusammenhang mit Delphi zu bekommen. Auf den Seiten des MSDN findet man auch einige Beispiele, die sind aber alle in VisualBasic. Wenn man etwas Übung hat, kann man diese dann nach Delphi umschreiben. Wenn Du nun immernoch nicht weiter kommst, dann sag einfach nochmal bescheid. Werde mir dann mal was konkreteres überlegen und dir eventuell auch Quellcode reinstellen. Gruß, Helld |
Excel Tabelle auslesen
Vielen Dank für die schnelle Antwort.
Leider sind meine Englisch-Kentnisse etwas begrenzt und ich kann mir nicht gerade viel aus den Seite entnehmen. Wenn Sie einen Source haben wäre ich Ihnen dankbar. MfG, Ronny |
HI !
Also erstmal kannst Du mich atürlich duzen :-) Ich werde mal heute abend versuchen mir etwas Zeit zu nehmen und die wichtigsten Sachen zusammentragen. Muss nur jetzt erst mal zum Kunden raus und weiss halt nicht, wann ich wieder da bin !!! Gruss, Helld |
Code:
uses
Excel97; // falls Excel 97 benutzt wird var excel: TExcelApplication; wb: _WorkBook; ws: _WorkSheet; lcid: Integer;
Code:
// Excel öffnen
lcid := GetUserDefaultLCID; excel := TExcelApplication.Create(FormMain); excel.Connect; // Exceldatei laden (test.xls) wb := excel.Workbooks.Open('test.xls', emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, lcid); // erstes Worksheet auswählen ws := wb.Sheets[1] as _WorkSheet;
Code:
// Feld A1 ausgeben
ShowMessage(ws.Cells.Item[y,x].Value);
Code:
// Excel schließen - Datei NICHT speichern
wb.Close(False, emptyParam, emptyParam, lcid); excel.Quit;
Code:
// Excel schließen - Datei speichern
wb.Close(True, 'C:\test.xls', emptyParam, lcid); excel.Quit; |
Delphi und Excel
Hallo.
Der Code hier funktioniert und ich kann auch Daten lesen. Wie bekomme ich aber heraus, wie viele Zeilen und Spalten auch wirklich Daten enthalten? MfG, Ronny |
mh...geh in einer schleife einfach die felder in x und y richtung durch und überprüfe, ob ein inhalt drin ist. dafür darf dann jedoch zwischendurch nicht ein feld leer sein.
sonst fällt mir dazu nix ein momentan... |
Zitat:
Die große Preisfrage ist jetzt noch, ob das Excel, auf dem das Programm dann benutzt werden soll, auch noch installiert sein muss wenn ich Komponenten benutze. Gibt es denn nichts einfaches? Wieso muss immer alles so kompliziert sein :( MfG, Ronny |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz