Excel export

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
SimonKP
Beiträge: 2
Registriert: Mi 15. Okt 2014, 08:19

Excel export

Beitrag von SimonKP »

Hallo,

ich bin recht neu in Lazarus und habe zur Zeit vor ein Programm zu schreiben dass mir auf Knopfdruck vorgesehene Textfelder aus dem Programm in eine Excel Tabelle übernimmt.

Nun ist meine Frage wie kann ich diese Verknüpfung zwischen den beiden Programmen erstellen und wie sage ich dem Programm welches Textfeld in welche Zeile gehört?

Danke für die Antwort

Mit freundlichen Grüßen

Simon

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Excel export

Beitrag von MAC »

Hallo willkommen hier :)

Wie genau planst du das durchzuführen? Je nachdem ist das ganze recht einfach / kompliziert.
Du könntest z.B. mit TStringGrid eine Tabelle in deinem Programm anlegen. Dort (sehr sehr einfach) beliebige werte rein schreiben, und dann diese Tabelle mit STRG-C und STRG-V in Excel kopieren.
Alternativ kannst du (soweit ich weis) mit OLE da bestimmt einiges machen.

Leider kenn ich mich damit nicht aus und kann hier nur auf Google verweisen :)
http://wiki.lazarus.freepascal.org/Office_Automation
http://www.delphi-treff.de/tipps-tricks ... n-steuern/

Code: Alles auswählen

Signatur := nil;

Linkat
Lazarusforum e. V.
Beiträge: 559
Registriert: So 10. Sep 2006, 23:24
OS, Lazarus, FPC: Linux Mint 22; Lazarus 3.4 FPC 3.2.2; RaspiOS
CPU-Target: AMD 64, ARM 64
Wohnort: nr Stuttgart

Re: Excel export

Beitrag von Linkat »

Hallo Simon,
herzlich willkommen im Lazarusforum. Um mit Excel zu kommunizieren, gibt es die hervorragende "unit fpspreadsheet". Hier ein Tutorial im Lazarus-Wiki.

http://wiki.freepascal.org/FPSpreadsheet/de

Viel Erfolg damit.

Gruß, Linkat
Linux Mint 21.3; Lazarus 3.4 FPC 3.2.2; RaspiOS

wp_xyz
Beiträge: 5134
Registriert: Fr 8. Apr 2011, 09:01

Re: Excel export

Beitrag von wp_xyz »

Wenn du nur Werte in die Excel-Tabelle eintragen willst, vielleicht mit einfacher Formatierung etc., dann könnte fpspreadsheet für dich das richtig sein: http://wiki.lazarus.freepascal.org/FPSpreadsheet; dort findest du auch einen Link zum Download.

[EDIT] @Linkat: Oh, da war ich ein bisschen zu spät...

Patito
Beiträge: 203
Registriert: Di 22. Sep 2009, 13:08
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Excel export

Beitrag von Patito »

Falls es etwas Kosten darf, gibt es auch kommerzielle dlls zum bearbeiten von Excel-Dokumenten.
Ich verwende zur Zeit LibXL.
http://www.libxl.com/

Ansonsten kann man über OLE so ziemlich alles machen, aber das war immer ein ziemlicher Krampf und
freiwillig mache ich sowas nicht mehr...

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Excel export

Beitrag von mschnell »

Muss es Excell sein, oder willst Du nur Excell-Funktionalität oder nur eine Excell-kompatible Datei schreiben.

Dann wäre in einem open Source Umfeld wie Lazarus ja die Verwendung von LibreOffice Komponenten sinnvoll.

-Michael

SimonKP
Beiträge: 2
Registriert: Mi 15. Okt 2014, 08:19

Re: Excel export

Beitrag von SimonKP »

Am besten wäre es wenn es in Excel funktioniert da ich es später noch mit Makros und Formatierungen vollpumpen will.

zur zeit liegt mein Problem darin, dass ich Excel über Ole nicht öffnen kann.

Code: Alles auswählen

procedure TForm1.eFertigClick(Sender: TObject);
  var
    varXLApp : oleVariant;
    varXLWb: oleVariant;
    wstrUebergabe: WideString;
  begin
     varXLApp := CreateOleObject ('Checkliste');
 
 
  end;        
bei dem Text gibt er mir folgende Fehlermeldung:
unit1.pas(814,34) Error: Identifier not found "CreateOleObject"
Zuletzt geändert von Lori am Fr 17. Okt 2014, 14:50, insgesamt 1-mal geändert.
Grund: Gighlighter

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Excel export

Beitrag von theo »

SimonKP hat geschrieben:unit1.pas(814,34) Error: Identifier not found "CreateOleObject"
Solche Fragen braucht man eigentlich nicht im Forum stellen.
Rechtsklicke auf die Meldung im Nachrichtenfenster und wähle aus dem Kontextmenu "Suche Bezeichner".
Dann wird dir die Unit angegeben, falls die Prozedur gefunden werden kann (was hier der Fall sein sollte).

Antworten