Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [H] Exel Tabelle auslesen, Daten verarbeiten und in txt D... (https://www.delphipraxis.net/129478-%5Bh%5D-exel-tabelle-auslesen-daten-verarbeiten-und-txt-d.html)

ekoplayer 19. Feb 2009 19:57


[H] Exel Tabelle auslesen, Daten verarbeiten und in txt D...
 
...Datei ausgeben...

Hi Leute also ich habe ne über Auftrag von ner Firma bekommen.

Worum geht es. Die Firma arbeitet mit verschieden Produkten^^

..Datei ausgeben...

Diese Produkte müssen von Hand und sehr aufwendig einzelln eingegeben werden!
Nun der Auftrag...

Ich soll ein programm schreiben (muss auf jedem Pc laufen)

Welches eine Exel Tabelle ausliest und es in eine Text Datei überträg.

Also in ausführlicher Form.

In der Exel Tabelle werden alle Daten niedergeschriben.

Name: xxx1
Nummer: xxx2
u.s.w

und dann soll das Programm Automatische eine neue Txt-Datei erstellen welche dann alle Fakten/Daten aus der Exel Tabelle übernimmt.

xxx1.txt ( der name der Datei soll der gleiche name sein wie in der Exel tabelle)

und in dieser Datei dann die sachen wie Nummer, Preis, Größe etc.

Ich weiß das dies ein sehr schwieriger Auftrag ist.

Morgen bekomme ich die Datei welche bis jetzt immer von Hand audgefüllt werden musste. Diese kann ich ja dann als Muster nehmen.

Nun die Frage: Hat wer ne Idee mit welcher Programmiersprache das umsetztbar ist und wie ich das am einfachsten lösen kann?

mkinzler 19. Feb 2009 20:05

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Ist Excel auf den Rechnern installiert? Per Excelmakro oder per COM könnte man Excel anweisen, den Inhalt als Textdatei zu speichern.

ekoplayer 19. Feb 2009 20:07

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Exel ist installiert. Naja der Hacken daran ist ja das das alles Automatisch geschehen soll und das in der Tabelle

256 Spalten und ca. 20 Zeilen sind.

für jede Spalte soll eine Datei erstellt werden.

mit dem Namen aus der ersten Spalte!

mkinzler 19. Feb 2009 20:09

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Inwiefern automatisch?
Ist per COM mit jeder COM-fähigen Programmiersprache einfach möglich

ekoplayer 19. Feb 2009 20:20

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Naja das man einmal den Datei namen von der Exel datei angibt.

Dann den Datei Pfad wo die Ausgabe datein gespeichert werden solln.

Dann Soll eine Standart datei vorgegeben werden wo schon bestimmt sachen drinne stehen und dann Variablen Wohin des programm die Daten aus der
Tabelle schreiben soll

Also jetzt mal ganz grob so:

Tabelle.xls

Spalte1|Spalte2|Spalte3

Name: 123 | 456
Ort: Hier| Dort
Datum: 1.1| 1.3
Nummer: 321| 654

Dann sollen zwei datein erstellt werden eine Datei 123.txt und eine 456.text

Dort steht dann drinne

Name des Produkts: $(hier kommt 123 o. 456 hin)
Datum des verkaufes: $2 (hier das datum)

dann unter D:/test speichern

das ganze halt nicht nur mit 2 sachen sondern mit 256^^

toms 20. Feb 2009 01:48

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Hallo

Mit den Stichworten "Excel auslesen Delphi" sind einige Informationen dazu auffindbar.

ekoplayer 20. Feb 2009 06:01

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Ok hat dafür jemand ne link zu nem guten Delphi-Tut wo ich alles lernen kann was ich dazu brauche....

Also automatisch Exeltabellen auslesen, txt-Datein speichern, Daten aus der exel tabelle in die txt datei schreiben!

mkinzler 20. Feb 2009 06:32

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Bitte hier: http://www.delphi-treff.de/tutorials...von-ms-office/
Du findest das gesuchte aber eher in der VBA-Hilfe von MS-Office. Du kannst dir bestimmet Vorgänge auch als Makro aufzeichnen lassen, diesen Makro kannst du dann einfach in COM-Automationsaufrufe umsetzen

ekoplayer 20. Feb 2009 06:59

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Ist VBA nicht Visual Basic?

Aber wenn ich das makros mache dann muss ich das doch auch auf den andern pc übertragen!

mkinzler 20. Feb 2009 07:01

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Der Makrocode dient als Vorlage für den (COM-Automations) Code in Delphi

mquadrat 20. Feb 2009 08:10

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Alternativ eine Komponente nehmen, die Excel-Dateien nativ lesen kann. Gibt's z.B. gegen Einwurf kleiner Münzen bei TMS.

Die Schwierigkeit der Anfrage ist übrigens relativ. Ich würd das auf max. ne Stunde schätzen ;)

ekoplayer 20. Feb 2009 17:14

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Naja aber als Totaler neuling... muss ich mich erstmal durcharbeiten...

ekoplayer 20. Feb 2009 17:29

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Also das tut ist ganz gut... Aber hilft mir nicht wirklich weiter da nicht beschriben wird wie man Exel-Daten ausließt!

ekoplayer 21. Feb 2009 19:03

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
*Push*

Kann mir nicht wer ne Beispiel Skript schicken?

mkinzler 21. Feb 2009 19:06

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Lass dir die Aktion doch mal aufzeichnen :zwinker:

ekoplayer 21. Feb 2009 19:06

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Wie aufzeichnen? mit Camtasia?

mkinzler 21. Feb 2009 19:07

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Nein als Makro

ekoplayer 21. Feb 2009 19:09

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Aber die Tabelle ist doch schon fertig. Daran muss ich ja nix mehr ändern^^

mkinzler 21. Feb 2009 19:11

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Aber im Makro siehst du, wie man die einzelnen Zellen adressieren kann!

ekoplayer 21. Feb 2009 19:11

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Achso also einfach die Zeilen anklicken und das Makro auzeichnen lassne?

toms 21. Feb 2009 19:13

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Zitat:

Zitat von ekoplayer
Achso also einfach die Zeilen anklicken und das Makro auzeichnen lassne?

Ja

mkinzler 21. Feb 2009 19:13

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Makro Aufzeichnen, Zelle makieren, Aufzeichnung stoppen, Code ansehen.

ekoplayer 21. Feb 2009 19:15

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Ok und wenn ich das gemacht habe? Was mache ich mit diesem Code?

mkinzler 21. Feb 2009 19:16

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Einfach auf Delphi übertragen

toms 21. Feb 2009 19:18

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Anbei ein kleines Beispiel, wie man eine Excel Instanz erstellt, eine Arbeitsmappe öffnet,
eine Zelle ausliest und Excel wieder schließt.

Delphi-Quellcode:
uses
  ComObj;

var
  ExcelApp: OleVariant;
begin
  ExcelApp := CreateOleObject('Excel.Application');
  ExcelApp.Workbooks.Open('Dateiname.xls');
  ExcelApp.Cells[5, 2].Value; // Zelleninhalt in Zeile 5, Spalte 2

  ExcelApp := Unassigned;
  ExcelApp.Quit;
end;

mkinzler 21. Feb 2009 19:30

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Was aber alles in dem verlinkten Tutorial steht

ekoplayer 21. Feb 2009 19:45

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Wie? so einfach geht das? dann Fehlt aber noch das der das automatisch mit allen Spalten zeilen machen und das er es an eine bestimmte stelle einer Txt Datei setzt oder sehe ich das Falsch?

Sorry wenn ich Euch nerve... Ist aber ziemlich wichtig^^

Danke für das Exel Skript. Aber Wie mache ich das er automatisch alle Zeilen ausließt und die Daten dann auch speichert?

mkinzler 21. Feb 2009 19:47

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
In einer Schleife. Wie soll gespeichert werden?

ekoplayer 21. Feb 2009 19:50

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Name aus tabelle also wenn in der Tabelle steht

Name: 123 spalte daneben 456

dann soll er erst die erste spalte komplett lesen und in eine txt datei mit dem namen 123.txt speichern und dann die spalte 2 auslesen und in eine neue txt daiten 456. txt speichern! Die daten sollen möglichst in eine vorgefährtiget txt-Schablone eingetragen werden!

Chemiker 21. Feb 2009 20:16

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Hallo ekoplayer,

willst Du die Daten in Delphi dann weiter verarbeiten? Wenn nicht, ist das auch mit einem Macro direkt in Excel möglich.
Willst Du sie dagegen in Delphi weiter verarbeiten gibt es auch die Möglichkeit die gesamten Daten in einem StringGrid zu laden und anschließende nach Deinen Vorgaben aufzubereiten.

Bis bald Chemiker

ekoplayer 21. Feb 2009 20:20

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Hallo Chemiker, Danke für deinen schnelle Antwort,

Naja eig. ist mir die Programmiersprache(das progrmm) egal.

Es muss nur möglich sein diesen Vorgang mit jeder Tabelle die nach dem gleichen Schema erstellt ist Automatisch zu verarbeiten.

Ich mach mal schnell ne Video vll ist es dann leichter zu sehen^^

Chemiker 21. Feb 2009 20:32

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Hallo ekoplayer,

ich Versuchs noch mal.

1. Du hast eine XLS-Datei.
2. Diese Datei willst Du Spaltenweise zerlegen
3. Jede Spalte soll mit den Daten unter einem Text-Dateiname gespeichert werden, dabei wird der Spaltenkopf für den Dateiname verwendet.

Mit welchem Programm verarbeitetst Du die einzelnen Text-Dateien denn anschließend?

Bis bald Chemiker

ekoplayer 21. Feb 2009 20:47

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Liste der Anhänge anzeigen (Anzahl: 1)
So ich habe gerade mal ne video gemacht wie das ganze gehen soll^^

Hoffe jetzt weiß jeder wie ich es meine Danke schonmal an die geil Community !!!!

Genau so ist es Chemiker. Die Daten bleiben dann einfach in der Text Datei um sie später mit anderen Programmen weiter zu verarbeiten. Das ist aber GOTT SEI DANKE nicht meine Aufgabe^^

Chemiker 22. Feb 2009 08:44

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Hallo ekoplayer,

habe mir jetzt das Video angeschaut, dazu folgende Bemerkungen:

1. Hast Du Einfluss auf die Erstellung des Sheets? Wenn ja, dann würde ich die Tabelle um 90° drehen. So das ein Datensatz 1 Zeile entspricht. So wie Du es jetzt hast ist bei 255 Datensätzen Schluss, wenn kein weiteres Sheet aufgemacht wird
Der Aufbau währe dann:
Name Ort Datum Wert usw.
123 Test1 01.01.2009 4711
124 Test2 01.02.2009 2721
125 Test3 01.03.2009 1111
dadurch ist es möglich ca. 65.000 Datensätze in einem Sheet unterzubringen.

2. Wenn Du direkt in der ersten Zelle anfängst mit den Daten, erleichtert das die Bestimmung der Anzahl an Datensätze.

3. Zu klären währe noch, ob nur die Daten in eine Text-Datei abgelegt werden soll, oder auch die Bezeichnung.


Bis bald Chemiker

ekoplayer 22. Feb 2009 11:10

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Die Tabelle kann ich drehen das ist kein poblem.

Ich kann in der ersten Zeile anfangen das ist auch nicht das Problem.

Die Daten sollenn alle in eine Text Datei gespeichert werden und zwar unter dem Namen wie er in der Tabelle ist.

Was du mit bezeichnungen meinst weiß ich leider nicht. (vll. Name,Ort,Datum ect.)

Wenn du das meinst, nein die Daten sollen in eine Art Text-Vorlage geschrieben werden.

So wie bei einem PHP Formular.

Welches so aussehen könnte:

*************************************************+

"Sehr geehrter Herr $Name, leider ist uns aufgefallen das ihr $passwort nicht richtig ist bitte überprüfe sie ihre eingabe.

*************************************************+

$Name und $passwort sind dann Variablen aus einer Datenbank.

So soll es in meinem Beispiel aus gehen.

Danke schonmal , Ekoplayer

toms 22. Feb 2009 11:13

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Was ist nun deine konkrete Frage, wo kommst du nicht weiter?
Was hast du schon an Code?

ekoplayer 22. Feb 2009 11:44

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Ich habe noch garnichts an Code deshlab frage ich ja...

mkinzler 22. Feb 2009 11:48

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Und das wird sich auch nicht ändern, wenn du nicht beginnst selber etwas Initiative zu zeigen. Du musst eigentlich nur die Puzzelsteine, welche wir dir geliefert haben, zusammensetzen.

ekoplayer 22. Feb 2009 11:54

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Das größte Problem ist aber das die meisten Post die hier geschriben wurden mich garnicht weiter bringen da sie in eine total andere Richtung gehen.

Naja fall noch wer ne guten Tipp hat kann er ihn ja nochmal Posten. Wenn nicht werde ich die Aktion wohl abblasen müssen.

Trotzdem danke an alle die mich ne stück vorwärts gebracht haben!!!

Chemiker 22. Feb 2009 17:00

Re: [H] Exel Tabelle auslesen, Daten verarbeiten und in txt
 
Hallo ekoplayer,

du hast doch jetzt alle Informationen zusammen.

1. Excel öffnen {Toms Quellcode und das Tut. von mkinzler}
2. XLS-Datei laden {Toms Quellcode und das Tut. von mkinzler}
3. Bestimmen wie viel Zeilen vom Sheet belegt sind für den Schleifenzähler
4. Excel-Zelle auslesen { Toms Quellcode und das Tut. von mkinzler}
5. Text-Dateiname aus der Bezeichnung der der 1 Spalte erstellen
6. Text-Datei öffnen und die gesamte Excel-Zeile als Text speichern { Typisierte Dateien:}
7. Text-Datei schließen.
8. usw. bis Schleifenende

So jetzt kannst Du mit Deinem Programm anfangen, wenn konkret noch eine Frage besteht wieder melden.

Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 Uhr.
Seite 1 von 2  1 2      

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