Задать вопрос
tkovacs
@tkovacs
веб мастер

Как записать данные в CSV файл из php?

Как записать массив в csv файл средствами php? Взял библиотеку phpspreadsheet, сохраняю в xlsx все нормально, сохраняю в csv , все пишется в первую ячейку строки, в кавычках и через запятую.
63624a6385695224009320.jpeg
fputcsv делает то же самое, мне казалось должно записывать в отдельную ячейку.
phpspreadsheet в xlsx
63624ad3adeec030068688.jpeg

<?php
$list = [
    ['id', 'name'],
    ['1', 'name'],
    ['2', 'name'],
];

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>
  • Вопрос задан
  • 491 просмотр
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
Adamos
@Adamos
Прочитать документацию на используемые функции.
У fputcsv не два аргумента, а шесть.
Можно выставить такие значения, чтобы даже дебильный Ёксель правильно разобрал.
Calc, между прочим, таки спрашивает, а не корчит из себя экстрасенса.
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
CSV - очень растяжимое понятие.
ЕМНИП, Excel предполагает, что разделителями будут точки с запятой, а строки будут без кавычек.
Настроить параметры можно, если не открывать CSV, а импортировать его как текстовый файл.
Ну, или открывать в LibreOffice, там настроек масса.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Kirill-Gorelov
С ума с IT
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы