Excel-Zugriff per Ole-Objekt
8. Februar 2008Um mit Delphi eine Exceldatei zu editieren, kann man das ganze z.B. über ein Ole-Objekt lösen.
Bei meinem Beispiel gehe ich davon aus, dass bereits eine Excel-Datei existiert, die wir auslesen oder bearbeiten wollen.
Hier ein Codeschnipsel zu Öffnen und Auslesen der Datei:
Excel := CreateOleObject('excel.application'); Excel.Visible := false; //Macht das Excel-Fenster sichtbar Excel.Workbooks.Open('C:\daten\testexcel.xls'); strFeldA1 := Excel.ActiveSheet.Cells[1,1].Value; // Ließt das Feld A1 Excel.DisplayAlerts := false; //Deaktiviert Nachfrage beim Beenden Excel.quit; //Beendet Excel (Wichtig sonst bleibt es immer offen im Hintergrund)
Um ein Feld zu ändern erweitern wir das ganze ein wenig:
Excel := CreateOleObject('excel.application'); Excel.Visible := false; //Macht das Excel-Fenster sichtbar Excel.Workbooks.Open('C:\daten\testexcel.xls'); Excel.ActiveSheet.Cells[1,1].Value := 'Test'; // Beschreibt das Feld A1 Excel.DisplayAlerts := false; //Deaktiviert Nachfrage beim Beenden Excel.ActiveWorkbook.SaveAs('C:\daten\testexcel2.xls'); Excel.quit; //Beendet Excel (Wichtig sonst bleibt es immer offen im Hintergrund)
Wichtig ist allerdings, dass Excel auf dem jeweiligen Rechner installiert ist, damit diese Lösung funktioniert.
Das Objekt “Excel” ist dabei eine Variable vom Typ Variant und als zusätzliche Unit muss ComObj eingebunden werden.



