Сохранить данные в Excel - PullRequest
0 голосов
/ 24 мая 2018

Я хочу сохранить данные в Excel вместо PDF.Пожалуйста, помогите.

Вот мой контроллер:

public function getUsageData(Request $request)
{

    $start_date = $request->get('start_date');
    $end_date = $request->get('end_date');

    $particulars = DB::table('particulars')
        ->join('reqs', 'particulars.particular_id', "=", 'reqs.particular_id')
        ->whereBetween('date_applied', [$start_date, $end_date])
        ->select('particulars.item_name', 'particulars.unit', 'particulars.price', 'reqs.quantity_issued',
            DB::raw('particulars.price*reqs.quantity_issued AS total_cost'))
        ->get();
    if ($particulars->isEmpty()) {


        return "No Records Found...................... ";

    } else {

        $pdf = PDF::loadView('issuer.getUsageReport', ['particulars' => $particulars]);
        return $pdf->stream('getUsageReport.issuer');
    }
}

1 Ответ

0 голосов
/ 26 мая 2018

Вы можете использовать Эта библиотека .Я даю вам пример.Надеюсь, что это придет вам на помощь.

public function getUsageData(Request $request){
    Excel::create('Export data', function($excel) {

    $excel->sheet('Sheet 1', function($sheet) {
        $start_date = $request->get('start_date');
        $end_date = $request->get('end_date');

        $particulars = DB::table('particulars')
            ->join('reqs', 'particulars.particular_id', "=", 'reqs.particular_id')
            ->whereBetween('date_applied', [$start_date, $end_date])
            ->select('particulars.item_name', 'particulars.unit', 'particulars.price', 'reqs.quantity_issued',
                DB::raw('particulars.price*reqs.quantity_issued AS total_cost'))
            ->get();

         foreach($particulars as $particular) {
             $data[] = array(
                $particular->some_field,
                $particular->some_another_field,
                // and so on ...                    
            );
        } // if you don't need id, ommite it. but make sure $particulars is an array

        $sheet->fromArray($data, null, 'A1', false, false);
        $headings = array('some_field', 'some_another_field');
        $sheet->prependRow(1, $headings); // it will create the first row of your Excel sheet as headings
    });
  })->export('xls');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...