LabVIEWForum.de
Daten direkt nach Excel übertragen - 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)
+----- Forum: Excel (/Forum-Excel)
+----- Thema: Daten direkt nach Excel übertragen (/Thread-Daten-direkt-nach-Excel-uebertragen)



Daten direkt nach Excel übertragen - Kubi1 - 03.06.2016 09:46

Guten Tag!

Ich habe ein kleines Programm erstellt, welches .txt-Dateien (2 Spalten) einliest und die darin enthaltenen Messdaten bearbeitet. Die veränderten Daten sollen dann nach Excel importiert werden.

Da ich Neueinsteiger in Sachen Labview bin, habe ich einfach ein Labview-Beispielprogramm übernommen und angepasst. Es funktioniert im Grunde einwandfrei: Wenn das VI ausgeführt wird, öffnet sich automatisch Excel und meine Daten werden importiert. Allerdings geschieht das sehr langsam, es dauert in der Regel länger als eine Minute.
Ich vermute, dass der Prozess so langsam ist, weil das Labview-Beispielprogramm, das ich benutze, die Werte Zeile für Zeile ins Excelsheet schreibt. (Die originale .txt-Datei ist übrigens sehr lang: 2 Spalten, 30000 Zeilen)

Lässt sich das Problem irgendwie lösen? Ist es möglich, die Werte auf einen Schlag zu übertragen, statt Zeile für Zeile? Ich habe zum Beispiel versucht, die äußere For-Schleife zu entfernen, weil die anscheinend die Zeilen im Excel-File generiert, aber das hat leider nicht richtig funktioniert...

Übrigens: Falls jemand eine komplett andere (simplere^^) Methode hat, um die Werte in Excel zu schreiben, würde ich die auch gerne mal ausprobieren! Das Report Generation Toolkit habe ich allerdings nicht installiert.

Vielen Dank schonmal im Vorraus!

LG


RE: Daten direkt nach Excel übertragen - GerdW - 03.06.2016 11:33

Hallo Kubi,

herzlich willkommen hier im Forum!

Zitat:Ich vermute, dass der Prozess so langsam ist, weil das Labview-Beispielprogramm, das ich benutze, die Werte Zeile für Zeile ins Excelsheet schreibt. (Die originale .txt-Datei ist übrigens sehr lang: 2 Spalten, 30000 Zeilen)
Lässt sich das Problem irgendwie lösen? Ist es möglich, die Werte auf einen Schlag zu übertragen, statt Zeile für Zeile?
Ich habe zum Beispiel versucht, die äußere For-Schleife zu entfernen, weil die anscheinend die Zeilen im Excel-File generiert, aber das hat leider nicht richtig funktioniert...
Leider muss ich hier sofort ermahnend eingreifen:
Es ist äußerst unbeliebt, wenn die gleiche Frage in mehreren Foren gestellt wird, ohne darauf hinzuweisen!
Norbert hat dir deine Frage HIER doch schon beantwortet!

Und wenn du dann einen Fehler bei der Umsetzung generierst, wäre es auch sinnvoll, eben diese nicht funktionierende Version anzuhängen…

Zitat:Übrigens: Falls jemand eine komplett andere (simplere^^) Methode hat, um die Werte in Excel zu schreiben, würde ich die auch gerne mal ausprobieren! Das Report Generation Toolkit habe ich allerdings nicht installiert.
Excel-Automatisierung funktioniert über ActiveX: also entweder so wie du es programmiert hast oder mit dem RGT, welches diese Zugriffe kapselt.

Tipps dazu:
- Probiere die zu programmierenden Schritte im Excel-Makroeditor mit VBA aus. Wenn es dann dort gut funktioniert, programmierst du die gleichen Schritte in LabVIEW mit ActiveX!
- Excel erwartet einen Range, wenn man mehrere Werte auf einmal übertragen will. Und wie gibt man Ranges an? Richtig: mit Angaben wie "A1:C123"…
- Die Art und Weise, wie du deinen Range-String erzeugst, ist äußerst fehleranfällig! Was kommt bei dir in der 27. Spalte heraus und wie antwortet Excel darauf?


RE: Daten direkt nach Excel übertragen - jg - 03.06.2016 11:40

Auch wenn es schon woanders Antworten gibt ( Box ), hier ein Screenshot:
[attachment=56025]
Gib bei der Auswahl der Range die richtige Größe an, und du kannst das 2D-Array in einem Rutsch übergeben.

Gruß, Jens

Offtopic2
P.S.: Überlasse es bitte uns Admins, einen Beitrag ins richtige Unterforum zu verschieben anstatt den Beitrag nochmals zu posten.


RE: Daten direkt nach Excel übertragen - Kubi1 - 03.06.2016 12:57

Ok, danke für eure Hilfe, funktioniert jetzt einwandfrei. Habe die for-Schleifen entfernt und wie in deinem (JG) screenshot die Range definiert.

LG


RE: Daten direkt nach Excel übertragen - Kubi1 - 24.06.2016 08:46

Ich melde mich zurück!

Im Anhang ist ein Screenshot des VIs, mit dem ich die Excel-Datei erstelle.
Im Moment wird bei jedem Programmdurchlauf ein neues Excel-Dokument erstellt und meine Daten automatisch eingetragen. So weit so gut. Allerdings muss ich in den SubVIs "Excel_Formatierung" und "Excel_Beschriftungen" mühsam das Layout des Excel-Dokuments in Labview generieren.
Ist es möglich, dass ich meine Werte in ein bestehendes Excel-Dokument reinschreibe, welches ich zuvor schon passend formatiert habe?

Danke!


RE: Daten direkt nach Excel übertragen - jg - 24.06.2016 09:09

(24.06.2016 08:46 )Kubi1 schrieb:  Ist es möglich, dass ich meine Werte in ein bestehendes Excel-Dokument reinschreibe, welches ich zuvor schon passend formatiert habe?
Ja, ist möglich. Wink

Gruß, Jens


RE: Daten direkt nach Excel übertragen - Kubi1 - 24.06.2016 09:16

Danke! Big Grin

Nächste Frage: Kann mir jemand verraten, wie das geht? Wie weiter oben schon erwähnt verstehe ich leider nicht genau, was in meinem VI überhaupt passiert, da ich das meiste aus einem Labview-Beispiel-VI übernommen habe...


RE: Daten direkt nach Excel übertragen - GerdW - 24.06.2016 13:39

Hallo Kubi,

Zitat:Wie weiter oben schon erwähnt verstehe ich leider nicht genau, was in meinem VI überhaupt passiert,
Das ist jetzt eher unschön, wenn schon du nicht weißt, was in deinem VI passiert… Smile

Zitat:wie das geht?
Ganz einfach: statt einer neuen Exceldatei öffnet man eine schon vorhandene und ergänzt dort einfach die fehlenden Werte…
(Oder wie würdest du das lösen, wenn du sowas "manuell" erledigen müsstest?)