LabVIEWForum.de - 2D Stringarray mit Messdaten in Excel speichern

LabVIEWForum.de

Normale Version: 2D Stringarray mit Messdaten in Excel speichern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Lv10

Hallo Leute,

leider hab ich mal weider ein Problem.
Ich habe Messdaten vorliegen die in einer Textdatei gespeichert sind.
Diese lese ich aus und speichere sie in ein 2D-Stringarray(Tabbellenstring). Die Daten haben maximal 7 Stellen z.B.(24,07227).
Wenn ich mir die Daten nach dem Importieren ansehe sind sie richtig mit Komma formatiert.
Aber nachdem ich diese mit dem Report Toolkit in eine Exceltabelle schreibe sind sie teilweise nicht richtig formatiert sie sehen dann so aus: 24.07227,
als nicht 24, 07... sondern 2407227,00. Dies passiert aber nicht bei dem messwerten die weniger stellen haben.
Woran kann das liegen?
Hast Du ein englisches Windows oder Office-Paket?

Gruß Markus
Ja,
wir haben die Americansche Windwosversion mit Deutschen Languagepack soweit ich weiß.
Aber ich denke es hat nichts mit dem . / , Einstellungen zu tun, denn der Import klappt ja auch...

Danke
Probier' Dein Programm mal auf einem Deutschen Rechner. Für mich hört sich das so an, als ob es doch mit den Spracheinstellungen zusammenhängt.

Gruß Markus
Hi,
leider nicht so einfach machbar. Denn ich habe hier nur diese Konfiguration zu Verfügung.
Desweitern muß es ja auch hier im System laufen.
Spracheinstellung!? Kann eingentlich nicht sein, denn dann wäre es mit Excel die gleiche Problematik.
Hab auch schon mal mit National telfoniert...
Sie haben gemeint sie stellen die Situatiuon mal nach.....aber hab seit dem nichts mehr gehört.
Sobald ich was weiß werde ich es posten, es sei denn einer von hier kann mir helfen...
Lg
Vor dem Schrieben in den Report, das Array nach Kommas durchsuchen lassen und duch Punkte ersetzen lassen (oder anders herum)?
Oder kannst du das Array nach Elementen des Typs Double konvertieren und dann in Excel importieren?
Guten Morgen Leut´s,

also ich bin jetzt weiter. Das mit dem String bearbeiten und Komma durch Punkt ersetzten habe ich schon gemacht.
Funktioniert aber trotzdem nicht.Auch nach Aussage von National.
Auch in Double würde nichts bringen, weil das Toolkit alles in einen String umwandelt und in Excel schreibt.
Nach langem hin und her nach mehreren Telefonaten mit National, kam heraus, dass es an den Deutschen Ländereinstellungen liegt.
(Sie arbeiten dran...hahaha)
Da dieses Problem in Amerika nicht existiert. Leider so muß man sagen, kann man das Report in Exeltoolkit in Deutschland nicht richtig nutzten.
Man kauf für viel Geld also Schrott! Es gibt eine Möglichkeit man muß seine Einstellungen (globalen Ländereinstellung) auf Punkt umstellen.
Dies führt aber in unserem Hause zur kollision mit Anderen Programmen! Naja und wer will schon sein Brötchen für 1.2€ kaufen :-)

Ich hoffe das ich der Nachwelt das Leben und viel unnötige Zeit abgenommen hae um Fehler zu suchen.

Gruß
Guten Morgen noch mal,

ich habe soeben eine Email non National bekommen:

"ich konnte bzgl. des Fehlers im Report Generation Toolkit mit unseren Entwicklern sprechen. Die Sache stellt sich folgender Maßen dar. Die ActiveX API von Microsoft Excel erwartet als Eingabeparameter Zahlen mit Punktnotation als Dezimaltrenner, getrennt durch ein Komma. Werden nun vom Report Generation Toolkit Zahlen an Excel übergeben, dann trennt Excel diese am Komma ab und bei Punkten (Tausendertrennzeichen) würde Excel einen Dezimaltrenner interpretieren. Übergibt man die Zahlen als ASCII-Zeichen versteht Excel diese auch so und fügt alle Zeichen als Text in das Arbeitsblatt ein. Bei der Übergabe von Zahlen ist intern jedoch ein Schritt eingebaut, so dass dies als ASCII-Zeichen übergeben werden und dann in Excel wieder in Zahlen zurückformatiert werden. All das passiert mittels ActiveX aus LabVIEW heraus und dadurch kann man keine Zahlen mit Komma als Dezimaltrennzeichen übergeben.
Weil dies aber keine befriedigende Lösung darstellt, habe ich mich mit der Problematik nochmals intensiv auseinander gesetzt. Mein Lösungsvorschlag ist das angefügt VI Comma_to_Point. Dies wandelt Ihnen das Komma aller übergenen Zeichenketten eines 2D-String-Arrays in Punkte um. Sie sollten somit also nur Zahlen im String-Array an diese Funktion übergeben.
Bei Tests hier auf meinem System funktionierte die Funktion wie gewünscht. Ich denke dies tut sie auch auf ihrem System, können sie dies bitte verifizieren und mir dann eine kurze Rückmeldung dazu geben."

Über diesen Ansatz havbe ich mit National ebenfalls gesprochen, aber mir wurde abgeraten Undecided

Trotzdem es funktioniert. Einfach dieses VI in dem "D-String hängen und es funktioniert.

Lv10
Referenz-URLs