Экспорт данных CSV с заголовками с использованием PHP SQL сервера

Я пытаюсь экспортировать данные из таблицы базы данных сервера SQL в файл CSV.
Данные правильно отформатированы и размещены в каждой отдельной ячейке файла. Но заголовок не отформатирован должным образом и печатается на одной ячейке непрерывным потоком.

Скажем, у вас есть a, b, c, d в качестве заголовков:
Заголовок печатается как abcd на первую ячейку и не выплевывает на отдельные ячейки. как мы их выделяем?

Вот код:

$flag = false;
if ($query) {
while( $data = sqlsrv_fetch_array( $query, SQLSRV_FETCH_ASSOC) ) {foreach($data AS $key => $value){
if(!$flag) {

// display field/column names as first row
$out .= implode("\t", array_keys($data)) . "\n";
//$out .= '"'.$head.'",';
$flag = true;
}

//If the character " exists, then escape it, otherwise the csv file will be invalid.
$pos = strpos($value, '"');
if ($pos !== false) {
$value = str_replace('"', '\"', $value);
}
$out .= '"'.$value.'",';
}
$out .= "\n";

}

0

Решение

$out .= implode("\t", array_keys($data)) . "\n";

Создает разделенную табуляцией строку, но в других местах вы используете запятую.

Возможно, вы также хотите использовать запятую здесь:

$out .= implode(",", array_keys($data)) . "\n";
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector