2017-01-06 3 views
0

geöffnet werden kann Ich erstelle eine CSV-Datei mit PHP-Funktion fputcsv. Alles funktioniert gut außer der Tatsache, dass jede Zeile eine Spalte von Daten in Microsoft Excel ist. Gibt es etwas, das ich hinzufügen oder ersetzen kann in jeder Daten, so dass Spalte pro Daten geöffnet werden kann?Generieren einer CSV-Datei, die von Excel

$output = fopen('php://output', 'w'); 

foreach(...){ 
    fputcsv($output, $csv_data); 

CSV Inhalt ist wie

2017-01-06 14:51:15,1,2 
2017-01-06 14:50:08,3,4 
+1

Wenn Sie mit CSV-Dateien in PHP arbeiten, werden Sie es nicht bereuen Sie benutzten: http : //csv.thephleague.com/ – jcorry

+0

siehe http://php.net/manual/de/function.fputcsv.php Der Thrid-Parameter ist Ihr Begrenzer .... in Excel können Sie die Registerkarte "Daten" verwenden und Textdateien importieren, so dass Sie Ihre Quelle auch behandeln können – donald123

Antwort

1

Excel normalerweise Ihre Einträge mit dem Komma analysieren.

Wenn Sie die Datensätze in einer einzigen Spalte zu erhalten, setzen Sie sie in doppelte Anführungszeichen vor dem Import:

"2017.01.06 14: 51: 15,1,2"
„2017-01 14 -06: 50: 08,3,4"

ergibt dies:

enter image description here

+3

Excel verwendet immer die Betriebssystemeinstellung für Feldtrennzeichen, die Teil der internationalen Einstellungen ist. In Orten wie Westeuropa ist es oft ';'. (Und, ja, das ist eigentlich ziemlich dumm.) –

+0

@ ÁlvaroGonzález Vielen Dank ...... ist das doppelte Zitat verwendet, um das Trennzeichen zu entkommen oder ist es ein anderes Zeichen? –

+0

Die neueren Versionen von MS Excel erkennen eine Zeile "sep =," als erste Zeile der Datei, sodass Sie unabhängig von den Gebietsschemaeinstellungen ein Komma als Importtrennzeichen verwenden können. aber viele andere Skripte, die CSV-Dateien lesen, werden dies als eine tatsächliche Zeile von Daten behandeln –

Verwandte Themen