Moin!
a b c
__________
1 2 3
4
5 6 7
8
9
10 11 12
1. Ich glaube nicht, dass dies gut ist. Aber meistens erweisen sich Fragende in dieser Hinsicht als beratungsresistent und schimpfen noch, man möge GEFÄLLIGST deren Frage beantworten statt rumzuschleimen.
2. Die Daten werden in Quotas gekapselt, die beim Import in Excel angegeben werden.
3. Auch der Trenner ist konfigurierbar, dies betrifft das Zeilenendezeichen.
4. Die verwendeten Werte sind wohl für Excel der Standard.
5. Wenn Du Textzellen hast, dann denke auch an die fürs MS-Office passende Kodierung.
#Einstellungen:
$zeilentrenner="\r\n"; # Andere Variante: "\n"
$tupeltrenner=";"; # gängige andere Varianten: ",", "\t", " "
$quota='"';
# Daten: (Beispielarray)
$ar=array;
$ar[]=array("1", "2", "3".$zeilentrenner".4");
$ar[]=array("5", "6", "7".$zeilentrenner."8".$zeilentrenner."9");
$ar[]=array("10", "11", "12");
$arLines=array();
foreach ($ar as $item) {
if (1 < count ($item)) {
$arLines[]=$quota . implode($quota.$tupeltrenner.$quota, $item) . $quota;
} else {
$arLines[]=$quota . $item . $quota;
}
}
$csv=implode($zeilentrenner, $arLines);
#senden
header ("Content-Type: text/csv");
print $csv;
...
1. Ob Excel damit umgehen kann musst Du rausfinden.
2. Im normalen Leben würde ich auf die Variable $csv verzichten und gleich
print implode($zeilentrenner, $arLines); notieren.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix