Thema: Prism EXCEL in Delphi.NET

Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: EXCEL in Delphi.NET

  Alt 18. Nov 2005, 09:38
Zitat von micha382:
Zitat:
Schonmal probiert, einfach eine Referenz auf eine COM TypeLib zu setzen? Rolling Eyes
So einfach ist es in .NET dann doch nicht, guter Mann. Da bin ich ja selbst drauf gekommen, doch funktioniert hat es trotzdem nicht..
Dann machst Du was falsch. Bei mir geht es.

1, Hinzufügen der Referenz auf "Microsoft Excel x.0 Object Library"
2, Uses-Anweisung um System.Reflection, Excel ergänzen
3, Beispielcode um Datei zu laden und neu zu speichern:

Delphi-Quellcode:
var
  Exl: Excel.Application;
begin
  Exl := Excel.ApplicationClass.Create;
  Exl.Workbooks.Open('K:\Entwickler-Tests\AQTest\DataSource\Source-1\Basisdaten\Doku.xls',
                     EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                     EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                     EmptyParam, EmptyParam);
  Exl.ActiveWorkbook.SaveAs('C:\Temp\MyExcel.xls',
                            EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                            EmptyParam, Excel.XlSaveAsAccessMode.xlExclusive, EmptyParam, EmptyParam,
                            EmptyParam, EmptyParam);
und da Borlande EmptyParam vergessen hat:

Delphi-Quellcode:
var
  EmptyParam: TObject;

initialization
  EmptyParam := System.Reflection.Missing.Value;
Zitat von micha382:
Doch getreu dem Motto 'Démerdez-vous!' hab ich's nach einigen Wochen doch hinbekommen:
Du verwendest nicht Excel sondern die Fähigkeiten von Access bzw. der JET-Engine Excel-Dateien zu öffnen.
Und da Access von MS in Zukunft geringere Bedeutung hat (JET-Engine ist z.B. unter XP-Embedded nicht unbedingt installiert) ist diese Lösung auch keine 100% Lösung.

Zitat von micha382:
Trotzdem vielen Dank für die freundliche Unterstützung. Habe gelernt, dass Foren (und nicht nur eures) doch nicht so toll sind wie sie immer denken.
Die Lösung war doch OK - evtl. etwas zu kurz gehalten für jemand der noch nicht so tief die .NET-Spezialitäten gegenüber Win32 in Delphi kennt. Also war das Problem eher der Fragesteller.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat