Во-первых, вам нужно понять, как работает файл CSV. Файл CHS - это просто текстовый файл с разделенными запятыми значениями в каждой строке. При попытке импортировать файл CSV в Excel / Spreadsheet. Они читают каждую строку как одну строку и располагают значения, разделенные запятыми, в столбцы для каждой строки. Теперь то, что вы делаете в своем коде, это неверная передача массива методу putcsv()
. Посмотрите на массив, который вы передаете,
$form_data = array(
'sr_no' => $rows,
'auditeurso' => $auditeurso,
'datum' => $datum,
'zone' => $zone,
'textso01' => $textso01,
'ok' => $ok,
'results' => $results,
'okk' => $okk,
'okc' => $okc,
'comment' => $comment
);
В своем коде вы передаете ассоциированный массив в функцию putcsv()
, тогда как вам нужно передать многомерный массив в эту функцию. В массиве, который вы передаете, каждый элемент массива рассматривается как отдельное значение для каждого столбца, поэтому вы получаете некоторый беспорядочный текст в Excel. Вы можете попробовать передать массив в этом формате,
$form_data = array(
['sr_no', 'auditeurso', 'datum', 'zone', 'textso01', 'ok', 'results', 'okk', 'okc', 'comment'], /* this represent the column headers in the Excel*/
[$rows, $auditeurso, $datum, $zone, $textso01, $ok, $results, $okk, $okc, $comment]
);