Как я могу экспортировать вкладку данных отдельно - PullRequest
0 голосов
/ 23 мая 2019

Я экспортирую некоторые данные из БД и хочу, чтобы два столбца, которые я генерирую, были разделены табуляцией.

Я уже пытался использовать implode после моего fputcsv, но он всегда отображается через запятую. Также попытался изменить мой разделитель (,) на другой символ, но в CSV всегда выводится запятая.

Это функция, которую я использую для нее.

public function ResearchExport(Request $request)
{
    //Export ProductID and KitID of all the Kits created from the given date to the actual moment
    $TubeAddDate = $request->input('TubeAddDate');
    $select = DB::table('tubes')->select('TubeBarcodeID', 'ActivationCode')->where('LOG_important', '2')->whereBetween('TubeAddDate', array($TubeAddDate, NOW()))->get();
    $tot_record_found=0;
    if (count($select)>0) {
        $tot_record_found=1;
        $CsvData=array('TubeBarcodeID,ActivationCode');
        foreach ($select as $value) {
            $CsvData[]=$value->TubeBarcodeID.",".$value->ActivationCode.;
        }
        $filename=date('Y-m-d').".csv"; //stores the file with the date of today as name
        $file_path=storage_path().'/'.$filename;
        $file = fopen($file_path, "w+");
        foreach ($CsvData as $exp_data) {
            fputcsv($file, explode(",", $exp_data));
        }
        fclose($file);
        return response()->download($file_path, $filename);
    }
    return view('InsertForms/download', ['record_found' =>$tot_record_found]);
}

В данный момент я получаю это как вывод

TubeBarcodeID,ActivationCode
FF01111112,IKG5G-B0FIZ
FF0111113,6XMP8-760Y3

но я ожидаю, что в CSV будет выделено что-то вроде табуляции

TubeBarcodeID   ActivationCode
FF01111112      IKG5G-B0FIZ
FF0111113       6XMP8-760Y3

1 Ответ

0 голосов
/ 23 мая 2019

Так что я на самом деле просто решил, благодаря одному из комментариев, который указал на мою ошибку.Мне просто нужно было изменить .csv на .xls, а затем переопределить третий параметр fputcsv с помощью "\ t".

    $filename=date('Y-m-d').".xls"; //stores the file with the date of today as name
    $file_path=storage_path().'/'.$filename;
    $file = fopen($file_path, "w+");
    foreach ($CsvData as $exp_data) {
        fputcsv($file, explode(",", $exp_data), "\t");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...