protected function create_csv_file($records)
{
$header_data = current($records);
unset($header_data['attributes']);
$header = array_keys($header_data);
$file_data = '"' . join('";"', $header) . '"' . "\r\n";
foreach ($records as $record) {
$data = [];
unset($record['attributes']);
foreach ($record as $key => $value) {
if (!is_array($value)) {
$data [] = '"' . $value . '"';
}
}
$file_data .= join(";", $data) . "\r\n";
}
return $file_data;
}
Привет, ребята, у меня была функция, которая создает файл CSV.
Но по некоторым причинам экспорт CSV запускается в EOF, потому что в некоторых столбцах есть пробелы или используется тот же самый характер в тексте ("или '), который я использую, чтобы обернуть ячейки данных.
Как правильно замаскировать ячейки, чтобы получить все данные, как я ожидал?
я хочу:
сначалаячейка, вторая ячейка, третья ячейка
но я получаю
первое, ячейка, второе, ячейка, третье, ячейка
ниже вы найдете массив
Array
(
[0] => Array
(
[Name] => Peter
[Priority] => 3
[State] => false
[Message] =>
)
[1] => Array
(
[Name] => Anna
[Priority] => 4
[State] => false
[Message] =>
)
[2] => Array
(
[Name] => Jen
[Priority] => 1
[State] => true
[Description] => An: email@address.com
CC:
BCC:
Attachment: -- no Attachment --
Topic: How does it work?
Text:
description
)