Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Excel mit Delphi 8 VCL-Formularanwendung??? (https://www.delphipraxis.net/28370-excel-mit-delphi-8-vcl-formularanwendung.html)

Steffen73 23. Aug 2004 22:10


Excel mit Delphi 8 VCL-Formularanwendung???
 
Hallo,

wie kann ich in Delphi 8 in einer VCL-Anwendung (nicht Windows Forms) eine Verbindung zu Excel herstellen, um Daten aus Excel-Tabellen in einem TDbGrid anzeigen zu lassen bzw. zu importieren?

Eine Lösung wäre vielleicht die TDatabase-Komponente, in der ich den Treiber "Microsoft Excel(*.xls)" auswählen kann. Bei der Verbindung zu einem Verzeichnis (unter DatabaseName eingetragen) erscheint ein Login-Fenster. Allerdings weiß ich nicht, was ich hier eintragen soll. Habe es bereits mit "Admin" und "Administrator" als Benutzername probiert - ohne Erfolg.

Bei Delphi 5 (und wahrscheinlich auch bei 6 und 7) war das alles irgendwie leichter... :gruebel:

Viele Grüße
Steffen :?

Bernhard Geyer 24. Aug 2004 07:13

Re: Excel mit Delphi 8 VCL-Formularanwendung???
 
Folgende Möglichkeiten fallen mir ein:

1, Hinzufügen einer Referenz auf Microsoft Excel (ähnlich wie bei D4-7 import einer Typbibliothek)

2, ADO.NET und Zugriff über den ADO-Treiber für Jet. Verwendung von ADO.NET mittels NET2VCL

3, Hoffen, das es doch noch ADOExpress (dbGO) für D8 geben wird

Steffen73 24. Aug 2004 11:39

Re: Excel mit Delphi 8 VCL-Formularanwendung???
 
Vielen Dank für die Tipps. Mit Variante 2 konnte ich nicht so recht etwas anfangen. Und mit Punkt 1 sieht's auch nicht viel besser aus. Ich habe mal die "EXCEL9.OLB" als Referenz importiert. Handelt es sich dabei um eine Typbibliothek? - Wie muss ich weiter verfahren?

Früher habe ich Excel per OLE angesprochen, also so "CreateOleObject" ...

Steffen

Bernhard Geyer 24. Aug 2004 15:06

Re: Excel mit Delphi 8 VCL-Formularanwendung???
 
Öffnet die angegebene Datei unter c:\temp\testapp

Delphi-Quellcode:
uses
  System.Reflection,
  Excel;

procedure TForm1.Button1Click(Sender: TObject);
var
  ExcelApp: Excel.Application;
  EmptyParam: TObject;
begin
  EmptyParam := System.Reflection.Missing.Value;
  ExcelApp := Excel.ApplicationClass.Create;
  ExcelApp.Workbooks.Open('C:\Temp\TestApp\Test.xls', EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                          EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                          EmptyParam, EmptyParam, EmptyParam);
end;


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