WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 23.03.2021 17:05:52

berny
Mitglied

CSV konfigurieren

gibt es in MP Form eine Möglichkeit, den CSV Trenner manuell zu konfigurieren, um zb das csv gleich Excel-Kompatibel zu machen?

Beitrag geändert von berny (23.03.2021 17:06:11)

Offline

#2 23.03.2021 19:02:22

florian
Administrator

Re: CSV konfigurieren

Beitrag vom Ursprungsthread abgetrennt, weil andere Fragestellung :-/


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

berny

#3 23.03.2021 22:36:43

mrbaseman
Developer

Re: CSV konfigurieren

Nein, bisher nicht. CSV steht für "comma separated values". Das ist doch ziemlich eindeutig, dass da der Feldtrenner ein Komma sein muss, oder?
na gut, ich will mal nicht so sein. Mit der angehängten Verison kannst du MPFORM_CSV_SEPATATOR in constants.user.php definieren

Offline

Liked by:

berny

#4 24.03.2021 18:47:48

berny
Mitglied

Re: CSV konfigurieren

mir gehts um die Praxis:
User exportiert und öffnet im Excel -Gibt ein Durcheinander weil anderer Delimiter als Excel Standard....

Dem User interessiert der csv Standard weniger.

Als Programmierer ist halt DAU Denken öfters befremdlich :-)

auf jeden Fall werde ich das die nächsten Tage testen.

Danke nochmals!

Offline

#5 24.03.2021 19:02:50

bernd
Developer

Re: CSV konfigurieren

Das "Semikolon statt Komma" ist aber nicht Excel-Standard sondern hängt von den Windows-Systemeinstellungen ab.
Wenn dort das Komma als Dezimal-Seperator eingestellt ist (wie u.a. bei uns in DE üblich) "weigert" sich Excel das Komma als List-Seperator zu verwenden.

https://itectec.com/superuser/how-to-ge … csv-files/


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Liked by:

berny

#6 24.03.2021 19:29:15

mrbaseman
Developer

Re: CSV konfigurieren

berny schrieb:

auf jeden Fall werde ich das die nächsten Tage testen.

Danke nochmals!

...oder du probierst es gleich mit der 1.3.37 - da ist das nämlich auch schon drin

Beitrag geändert von mrbaseman (24.03.2021 19:31:24)

Offline

Liked by:

berny

#7 25.03.2021 09:36:18

berny
Mitglied

Re: CSV konfigurieren

... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Irgendwie passend :-D

Beitrag geändert von berny (25.03.2021 09:36:45)

Offline

#8 26.03.2021 09:32:16

berny
Mitglied

Re: CSV konfigurieren

Bitte verifizieren:

export_submissions.php
Zeile 218 ändern auf:

$lines[] = '"'.join('"'.MPFORM_CSV_SEPATATOR.'"', $column_names).'"';

Offline

#9 26.03.2021 16:45:19

berny
Mitglied

Re: CSV konfigurieren

So, habs mal getestet:
prinzipiell funkt das ganze, nur kann excel trotzdem die Formatierung nicht richtig umsetzen.
Es steht alles in der ersten Zelle.

Interessanterweise, der erste Eintrag bis zum delimiter ohne ", Dannach alles mit ".

Fehlt da irgendwas? /n oder ähnliches?
Im Editor schaut das ganz normal aus....

Offline

#10 26.03.2021 21:48:26

mrbaseman
Developer

Re: CSV konfigurieren

berny schrieb:

Bitte verifizieren:
export_submissions.php
Zeile 218 ändern...

Oh verdammt! In der Spaltenüberschrift war dann noch das Komma mit drin. Das kommt ins nächste Release mit rein.

berny schrieb:

So, habs mal getestet:
prinzipiell funkt das ganze, nur kann excel trotzdem die Formatierung nicht richtig umsetzen.
Es steht alles in der ersten Zelle.

Interessanterweise, der erste Eintrag bis zum delimiter ohne ", Dannach alles mit ".

Fehlt da irgendwas? /n oder ähnliches?
Im Editor schaut das ganz normal aus....

Ah, das liegt an der Zeile für die Ausgabe:

foreach ($lines as $l) echo "$l;\r\n";

Da ist der Zeilen-Separator ";" enthalten. Wenn natürlich der Feld-Separator das gleiche ist, dann landet alles auf der ersten Zeile. Wie muss denn die Zeile beendet werden, damit Excel das frisst?

Offline

#11 27.03.2021 08:34:39

berny
Mitglied

Re: CSV konfigurieren

Bin mir nicht sicher, aber einfach ein Zeilenumbruch ohne Zeichen?
Egal welcher Delimiter.

Ich muss mal ein csv erstellen und gucken...

Ist ein Zeilendelimiter überhaupt Standard bei csv?

Wobei, der Strichpunkt müsste ja einfach eine weitere Zelle erzeugen, daran sollte es also nicht liegen...


"a1";"a2";"a3"
"b1";"b2";"b3"

usw...
So glaub ich sollte es aussehen.

Beitrag geändert von berny (27.03.2021 08:49:50)

Offline

#12 27.03.2021 12:33:15

berny
Mitglied

Re: CSV konfigurieren

Vorschlag:
Erweitern um

if(!defined('MPFORM_CSV_LINE_SEPATATOR')){
    define('MPFORM_CSV_LINE_SEPATATOR',';');
}

In der constants.user.php zB definieren:

define('MPFORM_CSV_SEPATATOR',',');
define('MPFORM_CSV_LINE_SEPERATOR','');

In der export_submissions.php

    header("Content-Type: text/plain");
    header("Content-Disposition: attachment; filename=results_$section_id.csv");
    foreach ($lines as $l) echo $l.MPFORM_CSV_LINE_SEPERATOR."\r\n";
    if(($submission_ids !== 'ALL') && is_array($submission_ids) && (!empty($submission_ids))){
        foreach ($submission_ids as $l) echo "#could not find submission_id ".$l.MPFORM_CSV_LINE_SEPERATOR."\r\n";
    }
} else {
    $admin->print_header();
    $admin->print_error("results table is disabled - nothing to export", $sUrlToGo);
    $admin->print_footer();
    exit(0);
}

Zumindest kann man damit die gewünschten Zeichen erstellen.

Warum das Verhalten bei excel aber so ist, dass der erste Delimiter erkannt wird, aber alle weiteren nicht, ist mir momentan nicht erklärbar.
Es lässt sich aber über folgenden Weg relativ einfach konvertieren:

In Excel die erste Spalte markieren.
Auf Registerkarte Daten gehen.
Dort den Menüpunkt "text in Spalten" suchen, anklicken
"getrennt" auswählen
Den richtigen Delimiter auswählen
fertig.

Hoffe das hilft etwas weiter.

Offline

#13 27.03.2021 20:28:48

mrbaseman
Developer

Re: CSV konfigurieren

ich hab jetzt mal das Zeilenende ("\r\n") auch noch mit rein genommen

Offline

Liked by:

berny

#14 15.05.2021 18:19:13

colinax
Developer

Re: CSV konfigurieren

@mrbaseman

Welche unterschiede gibt es zwischen der 1.3.37.2 und der offiziellen 1.3.37?

Offline

#15 16.05.2021 06:16:18

florian
Administrator

Re: CSV konfigurieren


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

colinax

#16 16.05.2021 09:23:46

colinax
Developer

Re: CSV konfigurieren

colinax schrieb:

@mrbaseman

Welche unterschiede gibt es zwischen der 1.3.37.2 und der offiziellen 1.3.37?

Ich Dummerchen, hätte auch gleich in den Changelog reinschauen, können hab spontan vergessen dass mrbaseman in dieser Hinsicht sehr genau ist thumb_up

mpform/CHANGELOG.txt schrieb:

*** 1.3.37.3 (Martin Hecht: 07-May-2021)
do not add IP address by default
fix export with different separators than comma
allow to specify line separator (including line ending) for csv export
correctly replace line endings in htmlmessage, thanks to florian

Offline

Liked by:

mrbaseman

Fußzeile des Forums

up