Excel / CSV numerische Felder

Moderator: Moderatoren

Antworten
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Excel / CSV numerische Felder

Beitrag von adrian »

Hallo zusammen

Wir haben das Problem, dass wir bei einem Export von Tabellen in CSV / XLS Dateien, danach in Excel nicht "rechnen" können.

Daher, die Daten werden exportiert, diese kann ich in Excel öffnen oder importieren. Ich kann auch versuchen die Spalten in Excel auf numerisch zu setzen, doch es bringt alles nichts, ich kann mit diesen Zellen nicht weiterarbeiten.

Aus xBase++ übergebe ich die Felder als numerische Felder nach List&Label und formatiere diese innerhalb List&Label. Daher: List&Label soltle wissen, dass die Felder numerisch sind.

Hat da jemand von Euch einen Tip?

es Grüessli

Adrian
es Grüessli

Adrian
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Excel / CSV numerische Felder

Beitrag von brandelh »

keine Blanks zwischen den Feldtrennern, Punkt oder Komma mal vertauschen ...
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Excel / CSV numerische Felder

Beitrag von Tom »

Hallo, Adrian.

Nein, L&L sollte das nicht wissen, sondern es erfährt es über die Typisierung beim Publizieren der Daten. Du kannst numerische Inhalte als Text oder als Zahl übergeben. Wenn Du schon im Programm formatierst, übergibst Du sie als Text.

Aber. Wenn Du aus einem Formular heraus exportierst, wird immer im Textformat exportiert, hinzukommt die Formatierung in der Tabelle (also im Formular). Wenn dort z.B. ein FStr$(NumerischesFeld,"##.###&,##") gesetzt ist, wird die Zahl mit Tausenderpunkt und Dezimalkomma formatiert und auch so als CSV exportiert. Damit kann Excel tatsächlich nix anfangen.

Hast Du ein Stückchen CSV-Beispiel?
Herzlich,
Tom
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Excel / CSV numerische Felder

Beitrag von adrian »

Nun, wenn ich eine CSV Datei direkt erstelle, ist dies alles ja kein Problem, es geht nur um den Export aus List&Label in eine CSV oder Excel Datei.

Da werden alle Felder als Textfelder exportiert, was ja kein Problem wäre, ich könnte diese ja einfach umformatieren. Doch dies geht eben auch nicht.

Ich habe hier mal eine kleine Datei beigelegt.
export.csv
(1018 Bytes) 288-mal heruntergeladen
Ziel ist es z.B. in Excel eine Spaltensumme zu erzeugen (in List&Label kein Problem)

Adrian
es Grüessli

Adrian
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Excel / CSV numerische Felder

Beitrag von adrian »

Hoi Tom

Bei mir im Source habe ich die folgende Formatierung:

LlDefineFieldExt(hJob,"INH_JAHR3",Str(aStatistik[nZ][5],10,2),LL_NUMERIC,NIL)

Adrian
es Grüessli

Adrian
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Excel / CSV numerische Felder

Beitrag von Tom »

Übergibt mal die Werte getrimmt - LTrim(Str( ...))) -, außerdem musst Du als SeparatorChar im CSV-Exportmodul das Semikolon setzen:

Code: Alles auswählen

LlXSetParameter(xJob,LL_LLX_EXTENSIONTYPE_EXPORT,"TXT","TXT.SeparatorChar",";")
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Excel / CSV numerische Felder

Beitrag von Tom »

Ich sehe gerade, L&L gurkt da noch lauter Zero-Character zwischen, weil standardmäßig im UTF-16 übergeben wird. Diese Option schafft Abhilfe:

Code: Alles auswählen

LlXSetParameter(xJob,LL_LLX_EXTENSIONTYPE_EXPORT,"TXT","TXT.Charset","ANSI")
Dann lassen sich Deine Daten auch importieren.
Herzlich,
Tom
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Excel / CSV numerische Felder

Beitrag von adrian »

Cool Tom, genau das wars.

Dann kann ich das Ticket bei Combit schliessen, die hatten nicht wirklich eine brauchbare Lösung.

Nun noch ein Zusatzproblem. Gibt es eine Möglichkeit, beim Export die Tausender-Trennzeichen zu entfernen? Bei Felder unter 1000.00 klappt es wunderbar.

Die Formatierungs-Zeichen werden ja nur für List&Label Ausgaben benötigt (einfachere Lesbarkeit) doch beim export kann dies weggelassen werden.

Adrian
es Grüessli

Adrian
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Excel / CSV numerische Felder

Beitrag von Tom »

Hallo, Adrian.

Freut mich!

Bezüglich des Tausenderzeichens sehe ich die Möglichkeit, die Formatierung im Formular abhängig davon zu machen, ob Du gerade ausdruckst oder exportierst - das müsstest Du über eine Variable steuern, wenn Du das in der Druckroutine weißt. Und dann packst Du in die Tabellenzelle einfach so etwas:

Statt beispielsweise

Code: Alles auswählen

FStr("###,##&.&&",nMeineZahl)
dies hier:

Code: Alles auswählen

IF(ExportFlag="ja",FStr("#####&.&&",nMeineZahl),FStr("###,##&.&&",nMeineZahl))
"ExportFlag" wird über LlDefineVariable gesetzt, abhängig davon, ob gedruckt oder exportiert wird.

(Edit: Korrektur - die Abfrage war verkehrtherum.)
Herzlich,
Tom
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Excel / CSV numerische Felder

Beitrag von adrian »

Ja, so geht es sicherlich, daher List&Label dies entsprechend zu übergeben, aber da ich dem Kunden die Möglichkeit gebe die Ausgabe selber zu bestimmen (Drucken, Export auf Excel, CSV etc.) kann ich dies nicht voraus anpassen.

Ich Frage mal betreffend diesem Thema List&Label an, und werde für den Übergang die Darstellungs-Formatierung im Formular rausnehmen.

Eventuell gibt es auch in List&Label eine Variabel, welche angibt ob exportiert wird oder nicht.

Aber Danke, hast mir schon viel geholfen.

Adrian
es Grüessli

Adrian
Antworten