在Laravel中将数据导出到Excel

Ada*_*ojo 0 php excel laravel laravel-5 laravel-5.1

我想在我的项目中将导出数据导入excel,我已经做到了,但在检查结果后,结果并不像我想要的那样.在这里我想结果有一个标题表.

这段代码我的控制器:

public function getExport(){
        Excel::create('Export data', function($excel) {

        $excel->sheet('Sheet 1', function($sheet) {

            $products=DB::table('log_patrols')
            ->join("cms_companies","cms_companies.id","=","log_patrols.id_cms_companies")
            ->join("securities","securities.id","=","log_patrols.id_securities")
            ->select("log_patrols.*","cms_companies.name as nama_companies","securities.name as nama_security")
            ->get();
                foreach($products as $product) {
                 $data[] = array(
                    $product->date_start,
                    $product->date_end,
                    $product->condition_status,
                    $product->nama_security,
                    $product->nama_companies,
                );
            }
            $sheet->fromArray($data);
        });
    })->export('xls');
    }
Run Code Online (Sandbox Code Playgroud)

这是我的问题结果: 结果

它应该是:

应该

我的问题是如何在标题表中将数字更改为我想要的文本.

我必须对代码进行哪些改进才能实现我的目标?

注意:我使用maatwebsite/excel

Ana*_*dac 5

来自官方文档:

默认情况下,导出将使用数组的键(或模型属性名称)作为第一行(标题列).要更改此行为,您可以编辑默认配置设置(excel :: export.generate_heading_by_indices)或将false作为第5个 参数传递:

更改:

$sheet->fromArray($data);$sheet->fromArray($data, null, 'A1', false, false);

如何在头表中将数字更改为我想要的文本.

然后,您可以定义自己的标题并将其添加到工作表的第一行.

$headings = array('date start', 'date end', 'status condition', 'security', 'company');

$sheet->prependRow(1, $headings);
Run Code Online (Sandbox Code Playgroud)

这应该使它工作.