Довольно простая задача, сохранить данные из php в csv, в интерне море примеров, но все они используют как разделитель ";". Мой XL упорно не понимает такого, и ждет "," как разделитель.
Оставлю для себя небольшую памятку.
Файл скрипта должен быть в UTF.
<?php
$aProducts = [
[
'id' => '150',
'name' => 'Test #1',
'category' => 'Категория 1',
'price' => '10000',
],
[
'id' => '151',
'name' => 'Тест №1',
'category' => 'Категория 1',
'price' => '20000',
],
[
'id' => '152',
'name' => 'Тест №2',
'category' => 'Категория 1',
'price' => '30000',
],
];
function array2csv($sFileName, $aIn, $sSeparator = ',') {
$fh = fopen($sFileName, 'w');
fputs($fh, chr(0xEF) . chr(0xBB) . chr(0xBF));
foreach($aIn as $val) {
fputcsv($fh, $val, $sSeparator);
}
fclose($fh);
}
array2csv(__DIR__ . '/test.csv', $aProducts);