【问题标题】:Laravel: export searched data to the excelLaravel:将搜索到的数据导出到excel
【发布时间】:2018-11-04 04:54:34
【问题描述】:

我想把搜索到的数据导出到laravel下面是我的控制器

公共函数getUsageData(请求$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');
    }
}

我想将这些数据检索到 excel 而不是 pdf 请帮助

【问题讨论】:

    标签: laravel-5


    【解决方案1】:

    else { ... } 语句中的两个PDF 行替换为:

    $list = $particulars->toArray();
    
    //This line adds headers if present in your data
    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()->streamDownload($callback,"filename.csv");
    

    根据particulars 的结构,您可能需要先对数据进行一些操作,例如变平。如果有,请在下方评论。

    【讨论】:

    • 我按日期范围搜索数据然后输出我想将其导出到 excel
    • 是的,将return $pdf->stream('getUsageReport.issuer'); 替换为上面的代码,如果它产生您需要的输出,请告诉我们。如果没有,我们将需要查看数据结构。
    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 2019-03-19
    • 2014-02-17
    • 2015-09-09
    • 2013-09-11
    • 2016-06-30
    • 2017-03-27
    相关资源
    最近更新 更多