LabVIEWForum.de
Tabelle aus EXCEL einlesen und verarbeiten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Tabelle aus EXCEL einlesen und verarbeiten (/Thread-Tabelle-aus-EXCEL-einlesen-und-verarbeiten)



Tabelle aus EXCEL einlesen und verarbeiten - florianBO - 14.09.2007 08:50

Hallo,

ich bin gerade dabei ein LV-Programm zu erstellen, dass mir aus einer EXCEL-Datei Werte ausliest.
In der Tabelle sind drei Größen, die eingelesen werden müssen.
1) Die Zeit
2) Die Leistung einer Pumpe (Pumpe 1)
3) Die Leistung einer Pumpe (Pumpe 2)

Wie lese ich in LV die Tabelle ein?
Wie kann ich zu den bestimmten Zeiten (in ms) entsprechend die zugehörigen Werte in LV importieren?
Zu jeder Zeit (1. Spalte in der EXCEL-Datei) gehören die Werte der Pumpe 1 und Pumpe 2.

Ich habe im Anhang die EXCEL-Tabelle zugegeben.

Grüße aus Bochum

Florian


Tabelle aus EXCEL einlesen und verarbeiten - Achim - 14.09.2007 08:55

' schrieb:Ich habe im Anhang die EXCEL-Tabelle zugegeben.

Nö...


aber: Du kannst doch einfach mit "Read from Spreadsheet" deine Daten einlesen...allerdings müsstest du dein Tabellenblatt aus Excel als z.B. *.txt speichern, weil das Read from Spreadsheet nicht die Seiten erkennen kann...

Oder du nimmst ein Beispiel aus der LV-Hilfe und arbeitest mit ActiveX, dann kannst du auch direkt *.xls-Files lesen!

A.


Tabelle aus EXCEL einlesen und verarbeiten - florianBO - 14.09.2007 09:11

Oh, in dem Forum darf man keine xls-Dateien hochladen?

Hier ein jpg-Bild von der EXCEL-Datei


Tabelle aus EXCEL einlesen und verarbeiten - Y-P - 14.09.2007 20:15

Hallo,

jetzt wird es etwas länger und ausführlicher. Man kann aus einer Excel-Tabelle auch per Datenbank-Funktionen Daten auslesen.

Wenn Du das "NI Database Connectivity Toolkit" (evtl. ADO-Toolkit) hast, dann kannst Du die Daten auch folgendermaßen aus Excel lesen:

Hier ist eine Anleitung dazu, wie es bei mir geklappt hat:


1. Excel "vorbereiten"
-------------------------

In Excel die Tabelle markieren, aus der man auslesen will. Spalten-Header (in dem Fall "zeit","pumpe1" und "pumpe2") müssen existieren. Danach "links oben" (vgl. Screenshot) den gewünschten Namen (in dem Fall "pumpen_neu") eingeben, und mit "Return" bestätigen.
Nun speichern (in dem Fall unter "pumpen.xls").


2. UDL-Datei erstellen
-------------------------

Dazu muss man auf "Tools" -> "Create Data Link", dort "Microsoft OLE DB Provider for ODBC Drivers" auswählen und mit "Weiter" bestätigen.
Dort wählt man zuerst "Verbindungszeichenfolge verwenden" aus und klickt auf "Erstellen". Nun gibt man den "Namen" (in dem Fall "pumpen_neu") ein und klickt auf "Neu". Nun kann man einen Treiber aussuchen. Ich habe den "Microsoft-Excel-Treiber (*.xls)" verwendet.
Jetzt muss (nach dem Klick auf "Weiter") der "Name der Dateidatenquelle" (in dem Fall "pumpen_neu") angegeben und wieder mit "Weiter" bestätigt werden. Jetzt folgt noch der Klick auf "Fertigstellen". Nun muss man noch die Excel-Version und der Pfad der Arbeitsmappe (pumpen.xls) angeben. Bestätigen mit "OK".

Nun gibt man "Benutzername" und "Kennwort" (falls vorhanden, sonst ein Häkchen bei "kein Kennwort") ein.

Jetzt auf "Verbindung testen" klicken und (falls erfolgreich) mit "OK" fortfahren. Nun kann man die Datei als "pumpen_neu.udl" speichern.


3. Auf Tabelle zugreifen
---------------------------

Jetzt kann man mit meinen VIs (falls das Database Connectivity Toolkit vorhanden ist) und SQL-Befehlen (SELECT.....) auf die Excel-Tabelle zugreifen.
(vgl. Screenshots und VI-Anhänge). (In meinem Bsp. ist die UDL-Datei und das VI im selben Verzeichnis!)

Mit dem VI kann man auch problemlos auf (SQL-) Datenbanken zugreifen, man muss nur davor die entsprechenden UDL-Datei erzeugen!
Das gleiche VI verwende ich auch für den Zugriff auf eine postgreSQL Datenbank.


Gruß Markus

(VIs LV 8.5)



Tabelle aus EXCEL einlesen und verarbeiten - Achim - 15.09.2007 17:31

' schrieb:jetzt wird es etwas länger und ausführlicher. Man kann aus einer Excel-Tabelle auch per Datenbank-Funktionen Daten auslesen.

@ Markus:

Was soll denn das werdenWacko? Das ist ja interessant, wusste ich auch nicht...ABER: Man kann auch mit nem Dreirad in die USA strampeln...Glare

Warum sollte man den mit DB-Funktionen aus Excel lesen, wenn man es direkt mit ActiveX machen kann oder eben aus Textdateien? Die wenigsten User dürften vermutlich (Mess-) Daten in mehreren Tabellenblättern haben, die kämen mit der zweiten Variante vollauf zurecht! Ich glaube, wenn er z.B. ne "Range" aus Excel direkt ausließt, ist das für ihn einfacher...

Gruss
Achim


Tabelle aus EXCEL einlesen und verarbeiten - Y-P - 16.09.2007 09:11

Ich hab' nur mal 'ne Alternative gezeigt, die problemlos funktioniert. Big Grin
Das ist auch ruck-zuck programmiert.
Und Du weißt jetzt auch, dass man das so machen kann.... Wink

Gruß Markus

EDIT: Das kann man alles in ein SubVI packen (Eingänge: SQL-Befehl und UDL-Pfad, Ausgang: 2D-Array), welches sofort verwendet werden kann.

' schrieb:@ Markus:

Was soll denn das werdenWacko? Das ist ja interessant, wusste ich auch nicht...ABER: Man kann auch mit nem Dreirad in die USA strampeln...Glare

Warum sollte man den mit DB-Funktionen aus Excel lesen, wenn man es direkt mit ActiveX machen kann oder eben aus Textdateien? Die wenigsten User dürften vermutlich (Mess-) Daten in mehreren Tabellenblättern haben, die kämen mit der zweiten Variante vollauf zurecht! Ich glaube, wenn er z.B. ne "Range" aus Excel direkt ausließt, ist das für ihn einfacher...

Gruss
Achim