Delphi ist eines der beliebtesten Programmierwerkzeuge für die Entwicklung von Pascal-Anwendungen. Zu seinen vielen Möglichkeiten gehört die Arbeit mit Excel–Dateien. In diesem Artikel erfahren Sie, wie Sie Excel-Dateien in Delphi mit integrierten Funktionen und Bibliotheken öffnen und verarbeiten können.
Zuerst müssen Sie eine Bibliothek installieren, die es uns ermöglicht, mit Excel-Dateien zu arbeiten. Dazu können Sie die Komponente verwenden TExcelApplication, die Delphi anbietet. Es bietet Zugriff auf alle Excel-Funktionen und ermöglicht es Ihnen, Excel-Dateien in Ihrem Programm zu öffnen, zu speichern und zu bearbeiten.
Beispiel für die Verwendung der TExcelApplication-Komponente:
var
ExcelApp: TExcelApplication;
begin
ExcelApp := TExcelApplication.Create(nil);
try
// Öffnen Sie eine Excel-Datei
ExcelApp.Workbooks.Open('Pfad zu Datei.xls');
// Hier können Sie verschiedene Operationen mit der Datei durchführen
// Speichern Sie die Datei
ExcelApp.ActiveWorkbook.Save;
// Schließen Sie die Excel-Datei
ExcelApp.Quit;
finally
ExcelApp.Free;
end;
end;
Auf diese Weise können Sie Delphi verwenden, um Excel-Dateien in Ihren Anwendungen zu öffnen und zu verarbeiten. Dies kann beispielsweise beim Erstellen von Berichten oder beim automatischen Generieren von Daten aus Daten aus Excel nützlich sein.
Vorbereiten der Entwicklungsumgebung
Bevor Sie mit dem Öffnen und Verarbeiten von Excel-Dateien in Delphi beginnen, müssen Sie die Entwicklungsumgebung vorbereiten. Dies erfordert die folgenden Schritte:
- Installieren Sie die Delphi-Entwicklungsumgebung auf Ihrem Computer. Sie können dies tun, indem Sie es von der offiziellen Website des Entwicklers herunterladen und installieren.
- Installieren Sie Microsoft Office oder LibreOffice auf Ihrem Computer. Um mit Excel-Dateien in Delphi zu arbeiten, benötigen Sie die entsprechenden Komponenten, die mit diesen Office-Paketen geliefert werden.
- Stellen Sie sicher, dass Sie über die erforderlichen Bibliotheken für die Arbeit mit Excel-Dateien in Delphi verfügen. Insbesondere kann es sich je nach verwendetem Ansatz um eine OLE Automation-Bibliothek oder eine ODBC-Bibliothek handeln.
Nachdem Sie die obigen Schritte ausgeführt haben, ist die Entwicklungsumgebung bereit, Excel-Dateien in Delphi zu öffnen und zu verarbeiten.
Öffnen und Lesen von Excel-Dateien
Um mit Excel-Dateien in Delphi zu arbeiten, können wir die OLE DB-Bibliothek verwenden, mit der wir Dateien im XLS- und XLSX-Format öffnen und verarbeiten können.
Bevor wir mit der Excel-Datei beginnen können, müssen wir die OLE DB-Bibliothek verbinden. Dazu können wir die TADOConnection-Komponente zusammen mit dem Microsoft-Anbieter verwenden.Jet.OLEDB oder Microsoft.ACE.OLEDB. Im letzteren Fall müssen wir die optionale ACE-Komponente (Access Connectivity Engine) installieren, die Unterstützung für XLSX-Dateien bietet.
Nachdem wir erfolgreich eine Verbindung mit der Excel-Datenbank hergestellt haben, können wir eine SQL-Abfrage ausführen, um Daten aus einer Tabelle oder einem Zellbereich in einer Excel-Datei abzurufen. Dazu können wir die TADOQuery-Komponente und die Open-Methode verwenden, um die Abfrage auszuführen und die Ergebnisse abzurufen.
Die Abfrageergebnisse können als Tabelle dargestellt werden, die wir in unserer Anwendung anzeigen können. Dazu können wir eine DBGrid-Komponente verwenden, die eine einfache Möglichkeit bietet, Daten in einer Tabelle anzuzeigen und zu bearbeiten.
Hier ist ein Codebeispiel, das das Öffnen und Lesen einer Excel-Datei in Delphi veranschaulicht:
varADOConnection1: TADOConnection;ADOQuery1: TADOQuery;beginADOConnection1 := TADOConnection.Create(nil);ADOConnection1.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\excel_file.xlsx;Extended Properties=Excel 12.0';ADOConnection1.Connected := True;ADOQuery1 := TADOQuery.Create(nil);ADOQuery1.Connection := ADOConnection1;ADOQuery1.SQL.Text := 'SELECT * FROM [Sheet1$]';ADOQuery1.Open;DBGrid1.DataSource := ADOQuery1;ADOQuery1.Free;ADOConnection1.Free;end;
In diesem Beispiel erstellen wir Instanzen der Komponenten TADOConnection und TADOQuery. Dann legen wir die Verbindungszeichenfolge ADOConnection1 an die Excel-Datei fest und führen die SQL-Abfrage ADOQuery1 aus, um alle Daten aus dem Arbeitsblatt "Sheet1" abzurufen. Die Abfrageergebnisse werden in DBGrid1 angezeigt.
Auf diese Weise können wir Excel-Dateien in Delphi mit der OLE DB-Bibliothek und den Komponenten ADOConnection und ADOQuery öffnen und lesen. Dies ermöglicht es uns, mit Excel-Daten in unserer Anwendung zu arbeiten und verschiedene Operationen wie das Lesen, Schreiben und Aktualisieren von Daten durchzuführen.
Vergessen Sie nicht, die Verbindung mit der Excel-Datei zu schließen, indem Sie die Close-Methode für das ADOQuery-Objekt aufrufen und die Connected-Eigenschaft des ADOConnection-Objekts auf False setzen.
Schreiben von Daten in Excel-Dateien
Sie können die Excel COM Object-Bibliothek verwenden, um Daten in Excel-Dateien in Delphi zu schreiben. Mit dieser Bibliothek können Sie Excel-Dateien mithilfe von Programmcode erstellen, öffnen und bearbeiten.
Zuerst müssen Sie die Excel COM Object-Bibliothek mit dem Projekt verbinden. Öffnen Sie dazu den Komponentenbereich und wählen Sie die entsprechende Bibliothek aus der Liste der verfügbaren Komponenten aus.
Nachdem Sie die Bibliothek verbunden haben, können Sie eine neue Excel-Datei erstellen oder eine bereits vorhandene öffnen. Sie können den folgenden Code verwenden, um eine neue Datei zu erstellen:
var ExcelApp: Variant; ExcelWorkbook: Variant; ExcelWorksheet: Variant; begin ExcelApp := CreateOleObject('Excel.Application'); ExcelWorkbook := ExcelApp.Workbooks.Add; ExcelWorksheet := ExcelWorkbook.Worksheets[1]; // Hier können Sie Code hinzufügen, um Daten in die Excel-Datei ExcelWorkbook zu schreiben.SaveAs('C:\Path\To\Excel\File.xlsx'); ExcelApp.Quit; end;
Nachdem Sie eine neue Datei erstellt oder eine vorhandene Datei geöffnet haben, können Sie das ExcelWorksheet-Objekt verwenden, um die Daten in die Datei zu schreiben. Sie können beispielsweise den folgenden Code verwenden, um einen Wert in eine Zelle zu schreiben:
ExcelWorksheet.Cells[1, 1].Value := 'Wert';
Auf die gleiche Weise können Sie Werte in andere Zellen in der Datei schreiben.
Denken Sie nach dem Schreiben aller Daten daran, die Datei zu speichern und zu schließen:
ExcelWorkbook.Save; ExcelWorkbook.Close; ExcelApp.Quit;
Auf diese Weise können Sie mit der Excel-Bibliothek COM Object in Delphi Daten problemlos in Excel-Dateien schreiben.
Formatieren von Zellen und Arbeitsblättern in Excel
In Delphi können wir verschiedene Methoden und Eigenschaften des TExcelWorksheet-Objekts verwenden, um Zellen und Arbeitsblätter in Excel zu formatieren.
1. Ändern des Zellenformats:
- Cells-Methode[row, column].Mit NumberFormat können Sie das Format numerischer Werte in einer Zelle ändern.
- Cells-Methode[row, column].Font.Size ermöglicht es Ihnen, die Schriftgröße in einer Zelle zu ändern.
- Cells-Methode[row, column].Font.Mit Color können Sie die Schriftfarbe in einer Zelle ändern.
- Cells-Methode[row, column].Interior.Mit Color können Sie die Füllfarbe einer Zelle ändern.
- Cells-Methode[row, column].Font.Mit Bold können Sie eine Fettschrift in einer Zelle festlegen.
2. Ändern des Papierformats:
- Die SheetName-Methode.PageSetup.Mit Orientation können Sie die Ausrichtung einer Seite in einem Blatt (horizontal oder vertikal) festlegen.
- Die SheetName-Methode.PageSetup.Mit PaperSize können Sie das Papierformat für den Druck festlegen.
- Die SheetName-Methode.PageSetup.FitToPagesWide und SheetName.PageSetup.Mit FitToPagesTall können Sie die Anzahl der Zeilen und Spalten festlegen, die auf einer Seite gedruckt werden sollen.
- Die SheetName-Methode.PageSetup.CenterHorizontally und SheetName.PageSetup.CenterVertically können Sie die Ausrichtung auf der Seite festlegen.
Dies ist nur ein kleiner Teil der Methoden und Eigenschaften, die Sie zum Formatieren von Zellen und Arbeitsblättern in Excel verwenden können. Wenn Sie mit Excel-Dateien in Delphi arbeiten, sollten Sie auf die Dokumentation der TExcelApplication- und TExcelWorksheet-Klassen achten, um eine vollständige Liste der verfügbaren Methoden und Eigenschaften zu erhalten.
Verarbeitung von Daten aus Excel-Dateien
Um Daten aus Excel-Dateien in Delphi zu verarbeiten, können wir die Funktionalität der Office-Bibliothek zusammen mit dem Excel-Objektmodell verwenden. Es ermöglicht uns, Excel-Dateien zu öffnen, zu lesen, zu ändern und zu speichern.
Um mit der Excel-Datei zu beginnen, müssen wir die Office-Bibliothek in unserem Projekt verbinden:
usesComObj,Excel2000;
Danach können wir eine Instanz des Excel-Objekts erstellen und die Datei öffnen:
varExcelApp: Variant;beginExcelApp := CreateOleObject('Excel.Application');ExcelApp.Workbooks.Open('путь_к_файлу.xlsx');end;
Eine Möglichkeit, auf Daten aus Zellen in einer Excel-Datei zuzugreifen, besteht darin, Zellenindizes zu verwenden. Sie können beispielsweise Text aus Zelle A1 wie folgt lesen:
varCellValue: string;beginCellValue := ExcelApp.ActiveSheet.Range['A1'].Value;end;
Um Daten aus einem bestimmten Zellbereich zu lesen (z. B. Bereich A1:D4), können wir die Range-Methode verwenden:
varRangeData: Variant;beginRangeData := ExcelApp.ActiveSheet.Range['A1:D4'].Value;end;
Die gelesenen Daten können nach Ihrem Ermessen verarbeitet und verwendet werden. Sie können beispielsweise in einer Tabelle angezeigt werden:
varTableData: Variant;Row, Col: Integer;beginTableData := ExcelApp.ActiveSheet.Range['A1:D4'].Value;// Отображение данных в таблице HTMLWriteLn('');for Row := 1 to 4 dobeginWriteLn('');for Col := 1 to 4 dobeginWriteLn('' + TableData[Row, Col] + ' ');end;WriteLn(' ');end;WriteLn('
');end;
Nach der Verarbeitung der Daten können wir die Änderungen in einer Excel-Datei speichern:
ExcelApp.ActiveWorkbook.Save;
Jetzt wissen Sie, wie Sie Excel-Dateien in Delphi mit dem Excel-Objektmodell öffnen und verarbeiten. Dadurch können Sie mit Daten aus Zellen, Bereichen arbeiten und die Änderungen in einer Datei speichern.