laravel csv, как получить файл csv с передними нулями

когда я создаю свой файл csv, некоторые специальные символы и передний ноль значений ячейки не получаются. посоветуйте, как это исправить

public function csv() { // $table = Festivals::all(); $headers = [ 'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0' , 'Content-type' => 'text/csv' , 'Content-Disposition' => 'attachment; filename=sss.csv' , 'Expires' => '0' , 'Pragma' => 'public' ]; $list = Festivals::select('ref_no','artist_name','postal_address','payment','payment_fee','bank_details','bank_name','bank_address','account_name','account_number','sort_code','reg_vat','vat_reg_number' ,'foreign_artise','name_desg','email','mobile','name_address','vehicle_size','backline','additional_backline','name','date')->get()->toArray(); # add headers for each column in the CSV download array_unshift($list, array_keys($list[0])); $callback = function () use ($list) { $FH = fopen('php://output', 'w'); foreach ($list as $row) { fputcsv($FH, $row); } fclose($FH); }; return Response::stream($callback, 200, $headers); } 

РЕДАКТИРОВАТЬ введите описание изображения здесь

Related of "laravel csv, как получить файл csv с передними нулями"

Тара,

Ну, я не уверен, как выглядят ваши данные на данный момент: fputcsv($FH, $row);

Тем не менее, я сделаю несколько предположений, и мы можем идти оттуда.

Во-первых, возможно, что ваши нули уже отсутствуют в массиве $row . Но пока, пожалуйста, добавьте это выше fputcsv($FH, $row); :

 foreach ($row as $key => $val) { $row[$key] = '="'.str_replace('"', '\"', $val).'"'; } 

Посмотрите, как много для вас. Если он все еще не работает правильно, пожалуйста, покажите мне строку текущего вывода и дайте мне знать, что с ним не так.

РЕДАКТИРОВАТЬ

Я хочу сказать следующее:

 $callback = function () use ($list) { $FH = fopen('php://output', 'w'); foreach ($list as $row) { foreach ($row as $key => $val) { $row[$key] = '="'.str_replace('"', '\"', $val).'"'; } fputcsv($FH, $row); } fclose($FH); };