Delphi ist eine leistungsstarke integrierte Entwicklungsumgebung (IDE), mit der Sie Anwendungen in der Programmiersprache Pascal erstellen können. Zusammen mit seiner umfangreichen Funktionalität bietet Delphi Entwicklern umfangreiche Möglichkeiten, mit verschiedenen Datentypen und Dateiformaten zu arbeiten. In dieser exemplarischen Vorgehensweise sehen wir uns an, wie Sie alle Zeilen aus einer Excel-Datei in Delphi abrufen können.
Excel ist eine beliebte Tabellenkalkulationsanwendung, die in verschiedenen Bereichen weit verbreitet ist. Es gibt mehrere Möglichkeiten, Daten aus einer Excel-Datei in Delphi abzurufen, aber wir konzentrieren uns auf die Verwendung der Excel-Automatisierungsbibliothek, die die vollständige Kontrolle über Excel-Dateien und ihre Daten bietet.
Um loszulegen, benötigen Sie die Excel-Automatisierungsbibliothek, die mit Delphi geliefert wird. Sie finden diese Bibliothek im Abschnitt "Komponenten" der Delphi-Symbolleiste. Fügen Sie diese Bibliothek einfach Ihrem Projekt hinzu, um Zugriff auf alle Funktionen der Excel-Automatisierung zu haben.
Es ist wichtig zu beachten, dass Sie auch Microsoft Excel auf Ihrem Computer installieren müssen, um erfolgreich mit Excel-Dateien in Delphi arbeiten zu können. Ohne das installierte Excel-Paket können Probleme beim Ausführen von Operationen mit Excel-Dateien auftreten.
Wie bekomme ich Daten aus einer Excel-Datei in Delphi
In diesem Tutorial erfahren Sie, wie Sie alle Zeilen aus einer Excel-Datei in Delphi abrufen können. Dazu verwenden wir Komponenten aus der Bibliothek TMS FlexCel.
Schritt 1: Installation TMS FlexCel
- Downloaden und installieren TMS FlexCel von der offiziellen Website unter: https://www.tmssoftware.com/site/tmsfmxpack.asp .
- Eine Komponente verbinden TMS FlexCel zu Ihrem Projekt in Delphi.
Schritt 2: Laden und Lesen der Excel-Datei
- Erstellen Sie eine Instanz der TXlsFile-Klasse, die eine Excel-Datei darstellt: var xls: TXlsFile;
- Laden Sie die Excel-Datei mithilfe der Open : xls-Methode herunter.Open('Pfad zu Datei.xls');
Schritt 3: Abrufen von Daten aus einer Excel-Datei
- Verwenden Sie die Eigenschaft rowCount : var rowCount: Integer; rowCount := xls, um die Anzahl der Zeilen in einer Excel-Datei abzurufen.RowCount;
- Durchlaufen Sie jede Zeile und erhalten Sie den Wert jeder Zelle mit der Methode CellValue : var i, j: Integer; var CellValue: Variant;
- for i := 1 to rowCount do
- for j := 1 to xls.ColCount do
- cellValue := xls.CellValue(i, j);
- // Bearbeiten Sie hier den gewünschten Zellenwert
Schritt 4: Schließen der Excel-Datei
- Nachdem Sie die Excel-Datei bearbeitet haben, schließen Sie sie mit der Close : xls-Methode.Close;
Jetzt wissen Sie, wie Sie alle Zeilen aus einer Excel-Datei mit TMS FlexCel in Delphi abrufen können. Sie können diese Informationen verwenden, um die Daten weiter zu verarbeiten oder auf Ihrer Benutzeroberfläche anzuzeigen.
Schritt 1: Verbinden der Excel-Bibliothek
Bevor Sie mit einer Excel-Datei in Delphi beginnen können, müssen Sie die entsprechende Bibliothek anschließen. In unserem Fall handelt es sich um eine Microsoft Office Excel-Bibliothek.
Führen Sie die folgenden Schritte aus, um diese Bibliothek zu verbinden:
- Öffnen Sie Delphi und erstellen Sie ein neues Projekt.
- Wählen Sie Komponenten (Component) im Hauptmenü von Delphi aus und suchen Sie die Registerkarte "Import".
- Wählen Sie auf der Registerkarte "Import" die Option "ActiveX-Steuerelement importieren" aus.
- Wählen Sie Microsoft Office Excel aus der Liste der verfügbaren Komponenten aus und klicken Sie auf "Installieren".
- Wählen Sie die Version von Excel aus, die Sie verwenden möchten, und klicken Sie auf "Weiter".
- Aktivieren Sie das Kontrollkästchen "Einheit erstellen", und wählen Sie den Namen des Moduls aus, das den Excel-Code enthält.
- Klicken Sie auf Fertig stellen, um die Installation abzuschließen.
Nachdem Sie diese Schritte ausgeführt haben, wird die Excel-Bibliothek mit dem Projekt verbunden, und Sie können ihre Komponenten und Funktionen verwenden, um mit Excel-Dateien zu arbeiten.
Schritt 2: Öffnen der Excel-Datei
Nachdem wir ein neues Projekt in Delphi erstellt haben, wird der nächste Schritt darin bestehen, die Excel-Datei zu öffnen. Dazu verwenden wir die TExcelApplication-Komponente, mit der Sie mit Excel-Dateien arbeiten können.
Am Anfang des Verfahrens müssen Sie die folgende Zeile zum uses-Abschnitt des Moduls hinzufügen:
uses ComObj;Als nächstes müssen wir eine Variable erstellen, die das Excel-Objekt darstellt. Dazu deklarieren wir im Abschnitt var der Prozedur eine Variable vom Typ Variant :
varExcel: Variant;Jetzt können wir die Excel-Datei öffnen. Verwenden Sie dazu die GetActiveOleObject-Methode der TExcelApplication-Klasse. Zum Beispiel, um die Datei "example.xlsx", führen Sie den folgenden Code aus:
Excel := GetActiveOleObject('Excel.Application');Excel.Workbooks.Open('путь_к_файлу\example.xlsx');Beachten Sie, dass Sie anstelle von "Dateipfad" den Pfad zu der Datei auf Ihrem Computer angeben müssen. Wenn sich die Datei im selben Verzeichnis wie die ausführbare Datei des Programms befindet, können Sie einfach ihren Namen angeben.
Jetzt haben wir eine geöffnete Excel-Datei und sind bereit, mit dem nächsten Schritt fortzufahren - Zeilen aus dieser Datei zu lesen.
Schritt 3: Lesen von Daten aus einer Excel-Datei
Nachdem die Excel-Datei erfolgreich geöffnet wurde und wir auf das gewünschte Arbeitsblatt zugegriffen haben, können wir damit beginnen, die Daten daraus zu lesen. Dazu verwenden wir eine Schleife, die alle ausgefüllten Zeilen in der Datei durchläuft.
In Delphi gibt es mehrere Möglichkeiten, Daten aus einer Excel-Datei zu lesen. Eine der beliebtesten Methoden ist die Verwendung des TExcelApplication-Objekts und seiner InvokeExcel-Methode. Mit dieser Methode können wir auf verschiedene Excel-Funktionen zugreifen, einschließlich Lesen und Schreiben von Daten.
Hier ist ein Beispielcode, mit dem wir alle Zeilen aus einer Excel-Datei abrufen können:
varExcelApp: TExcelApplication;Sheet: Variant;RowCount: Integer;i: Integer;beginExcelApp := TExcelApplication.Create(nil);ExcelApp.Connect;ExcelApp.Visible := False;Sheet := ExcelApp.Workbooks[1].Sheets[1];RowCount := Sheet.UsedRange.Rows.Count;for i := 1 to RowCount dobegin// Получение строки из текущей строки файла Excel// и выполнение необходимых действий// (например, сохранение или вывод данных)// . end;ExcelApp.Disconnect;ExcelApp.Free;end;In diesem Beispiel verwenden wir ein TExcelApplication-Objekt, um eine Excel-Datei zu öffnen und auf das Arbeitsblatt zuzugreifen. Dann bestimmen wir die Gesamtzahl der ausgefüllten Zeilen in der Datei mithilfe der UsedRange-Eigenschaft.Rows.Count.
Als nächstes durchlaufen wir jede Zeile mit einer for-Schleife und führen für jede Zeile die gewünschten Aktionen aus (z. B. Daten speichern oder Anzeigen).
Nachdem die Daten gelesen wurden, schließen wir Excel und geben Ressourcen frei.
Jetzt, da wir den Code zum Lesen von Daten aus einer Excel-Datei haben, können wir mit dem nächsten Schritt fortfahren.
- for j := 1 to xls.ColCount do
- for i := 1 to rowCount do