2
Я написал следующий класс для экспорта результатов базы данных в файл CSV.PHP Экспорт в CSV-класс
<?php
class Export {
public static function tocsv($results = array(), $fields = array()) {
$schema_insert = '"'.implode('","', $fields).'"';
$out .= $schema_insert."\n";
foreach($results as $row) {
$schema_insert = '';
$schema_insert .= '"'.$row->week_ending.'",';
$schema_insert .= '"'.$row->project.'",';
$schema_insert .= '"'.$row->employee.'",';
$schema_insert .= '"'.$row->plots.'",';
$schema_insert .= '"'.$row->categories.'"';
$out .= $schema_insert."\n";
}
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Length: " . strlen($out));
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=$filename");
echo $out;
exit;
}
}
?>
Выход:
"Week ending","Project name","Plot numbers","Categories","Employee"
"Friday 08 May 2015","Big Road","Tracey Smith","1A, 2A, 3A"," Water meter, 1st fix inc lagging"
Однако, когда я открываю с Excel все в одном столбце. Я что-то пропустил?
Спасибо.
попробуйте использовать \ n \ r вместо \ n – Nidhoegger
Спасибо, уже пробовал этот, но такой же результат. – V4n1ll4
Почему бы не просто использовать fputcsv? также где вы определяете $ filename? – Augwa