AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Daten in Excel übertragen

Ein Thema von zeras · begonnen am 11. Nov 2015 · letzter Beitrag vom 15. Nov 2015
Antwort Antwort
Pfaffe

Registriert seit: 29. Jan 2009
297 Beiträge
 
Delphi 12 Athens
 
#1

AW: Daten in Excel übertragen

  Alt 13. Nov 2015, 08:35
Ich kann mit gutem Gewissen die Komponente von Ondřej Pokorný empfehlen:
http://www.kluug.net/xlsx-ods-delphi.php
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#2

AW: Daten in Excel übertragen

  Alt 13. Nov 2015, 09:02
Hallo,

wenn ich wirklich nur Daten nach Excel übertragen möchte, würde ich diese einfach als CSV-Datei exportieren. Dann kannst du diese wahrscheinlich auch noch in hundert Jahren mit Excel importieren.

mfg

ps.: Aber warum auch einfach, wenn's .....
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#3

AW: Daten in Excel übertragen

  Alt 13. Nov 2015, 18:03
Hallo,

wenn ich wirklich nur Daten nach Excel übertragen möchte, würde ich diese einfach als CSV-Datei exportieren. Dann kannst du diese wahrscheinlich auch noch in hundert Jahren mit Excel importieren.

mfg

ps.: Aber warum auch einfach, wenn's .....
Die Übertragung der Daten soll beim Kunden erfolgen. Ich glaube nicht, dass alle Kunden wissen, was ein CSV File ist, wie man die Daten dann exportiert und wieder importiert. So wollte ich das für den Kunden einfacher machen.

Eine Frage habe ich noch.
Ich möchte dem Kunden die Möglichkeit bieten, dass er die Werte, die übertragen werden sollen, selber beeinflussen kann. So war meine Idee, dass er in meinem Programm auf eine Zelle in einem Grid klickt, dann einen Button drückt, der aussagt, dass dieser Wert übertragen werden soll, dann in einen offenen Excelsheet eine Zelle anklickt und diese Zelle dann als Ziel gilt.
So könnte sich der Kunde sein eigenes Formular zusammenklicken. Diese Funktion wird dann aufgezeichnet und mann kann diese Kopiererei dann automatisch ausführen lassen.
So kann sich der Kunde sein Excelformular selber zusammenbauen (mit seinen Logos etc.) und trotzdem die Daten aus meinem Programm bekommen.
Ist das verständlich?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

AW: Daten in Excel übertragen

  Alt 14. Nov 2015, 12:50
Ich glaube nicht, dass alle Kunden wissen, was ein CSV File ist, wie man die Daten dann exportiert und wieder importiert. So wollte ich das für den Kunden einfacher machen.
Das ist ja verständlich und durchaus löblich.

Diese Funktion wird dann aufgezeichnet und mann kann diese Kopiererei dann automatisch ausführen lassen.
Dieses automatisierte Klicken und Kopieren klingt nach einer monströsen Fehlerquelle
Dabei kann so viel schief-gehen (zwischendurch aufploppende Fenster, usw.).

So kann sich der Kunde sein Excelformular selber zusammenbauen (mit seinen Logos etc.) und trotzdem die Daten aus meinem Programm bekommen.
Anderseits kann man davon ausgehen, dass ein Nutzer, der sich Formulare in Excel zusammenbaut, im Prinzip alles mit Excel macht und sich auch entsprechend auskennt.
Im Prinzip würde es für so einen Nutzer reichen, wenn er irgendwie alle Daten in einen Reiter bekommt. Das Herauspicken kann er dann über Formeln/Referenzen selbst in Excel in seiner gewohnten Arbeitsumgebung machen.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#5

AW: Daten in Excel übertragen

  Alt 14. Nov 2015, 13:06
Ich wollte das so machen, dass der Kunde sich ein eigenes Formular erstellt mit seinem Logo, Adresse etc. und mein Programm bringt dann die Daten.
Es gibt zwar in meinem Programm ein Drucken der Daten, aber verschiedene Kunden möchten die Daten in einem eigenen Formular.

Heute habe ich mal einiges probiert.
Auf dem Source Grid mache ich Drag und auf dem Excelformular dann Drop.
Mit einigem Aufwand sollte ich doch wissen, wo die Daten herkommen und wo sie hingegangen sind. Wenn ich dann direkt das Excelformular ansteuere, sollten doch keine aufopppenden Fenster etc. ein Problem darstellen beim Ablegen der Daten. Wie gesagt, die Idee funktioniert im Prinzip, aber es könnte natürlich noch Sachen geben, die ich derzeit nicht überblicken kann.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Daten in Excel übertragen

  Alt 14. Nov 2015, 14:31
Hallo zeras,

wenn Du das so aufbauen willst, kann der Kunden doch einfach mit Kopieren und Einfügen die Daten in das Excel-Formular eintragen. Meiner Erfahrung nach ist es immer sehr Fehleranfällig wenn der Benutzer selbstständig ohne Programmführung zwischen 2 unabhängige Programme agieren soll.
Am besten ist wenn der Benutzer nicht eingreifen kann. Ich würde ein Formular in Excel gestalten und die Adresse und Logo usw. vom Kunden im eigenen Programm ablegen lassen. Beim Aufrufen der Excel-Funktion würde ich dann das Excel-Formular aufrufen und die Kunden spezifische Daten an die dafür vorgesehen stellen eintragen, mit den zuvor ausgesuchten Daten. Anschließend würde ich den Kunden das Formular abspeichern lassen(oder auch ausdrucken), ohne das er überhaupt Excel gesehen hat. Er kann dann, wenn er will diese Excel-Datei selber nochmal in Excel aufrufen und individuell anpassen.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Daten in Excel übertragen

  Alt 14. Nov 2015, 15:00
Leider kenne ich mich in Excel nicht so gut aus, darum denke ich bei Formular zunächst an Word und Bookmarks um die Daten abzulegen.
In Excel sollten dann die Daten in spez. Felder abgelegt werden, d.h. Dein Programm benötigt die Information über die Zielfelder um die Daten dort abzulegen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#8

AW: Daten in Excel übertragen

  Alt 14. Nov 2015, 15:37
Am besten ist wenn der Benutzer nicht eingreifen kann.
Da gebe ich dir vollkommen Recht. Deshalb versuche ich ja, über euch noch die beste Lösung zu finden.

Ich würde ein Formular in Excel gestalten und die Adresse und Logo usw. vom Kunden im eigenen Programm ablegen lassen.
Das Excel Grundformular sollte der Kunde selber gestalten können. Da aber jeder Kunde sein eigenes Logo hat, wollte ich das auch vom Kunden mit implementieren lassen.

Beim Aufrufen der Excel-Funktion würde ich dann das Excel-Formular aufrufen und die Kunden spezifische Daten an die dafür vorgesehen stellen eintragen, mit den zuvor ausgesuchten Daten.
Das ist ja das, was ich will. Das Problem hier ist, dass jeder Kunde ein eigenes Formular haben will. Das bedeutet, dass Kunde 1 einen Wert in Zeile 1, Spalte 1 haben will, der Kunde 2 einen Wert in Zeile 2, Spalte 2 haben will, usw.
Die Kunden haben teilweise aus der Vergangenheit selbst ein Formular entworfen und möchten dass nun mehr oder weniger automatisiert füllen. Aber jeder Kunde hat seine eigenen Ideen in das Formular gebracht.

Anschließend würde ich den Kunden das Formular abspeichern lassen(oder auch ausdrucken), ohne das er überhaupt Excel gesehen hat. Er kann dann, wenn er will diese Excel-Datei selber nochmal in Excel aufrufen und individuell anpassen.
Da gehe ich auch mit.

Mein eigentliches Problem wäre dann, wie der Kunde sein Formular aufbaut und wie ich an die entsprechenden Zellen komme. Ich könnte auch die Zellen benennen lassen, aber das macht auch viel Arbeit.
Deshalb dachte ich an einen "Teach Modus". Der Kunde markiert mit Drag eine Zelle aus meinem Grid. Dann legt er es mit Drop auf die entsprechende Zelle im Excel. Dies dann mit allen gewünschten Werten. So hat der Kunde einmalig die Arbeit. Beim nächsten Mal starte ich per Makro die Werte des Teach-Modus und das Formular füllt sich mit den Werten automatisch. Ich muss nur die Drags und Drops merken und wieder abspielen.
Ich hoffe, das ist einigermaßen verständlich rumgekommen.

Das Übertragen klappt nun auch soweit, nur habe ich noch nicht herausgefunden, wie man sicherstellen kann, dass die Daten auch im Excel angekommen sind.

Mit
Delphi-Quellcode:
var
  WS: OleVariant;
  Content : OleVariant;

begin
  Memo1.Lines.Add('Grid3OleDragStop'+ Format('OLEEffect=%d',[OLEEffect]));

  ExcelApplication1.Connect;
  ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
  ExcelWorksheet1.ConnectTo(ExcelApplication1.ActiveSheet as _Worksheet);
  WS := ExcelApplication1.ActiveSheet as _Worksheet;

  ShowMessage(Format('%d, %d',[ExcelApplication1.ActiveCell.Column, ExcelApplication1.ActiveCell.Row]));

end;
bekomme ich auch schon die Zelldaten raus, aber damit ist nicht sichergestellt, dass diese auch im Excel gelandet sind.
Da bräuchte ich noch eine Idee.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain

Geändert von zeras (14. Nov 2015 um 15:44 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz