如何设置数字存储为文本 laravel excel?

How to set Number stored as text laravel excel?

这个实际数字

6471050909740010

并在此处用 excel 替换结果

6.47105E+15

6471050909740000

这是我的代码

$collect = collect($model->toArray());

$excelData = Excel::create('Endorsement', function($excel) use ($collect) {

             $excel->sheet('Endorsement', function ($sheet) use ($collect) {

             $this->template($sheet);

             foreach ($collect as $key => $rest) {
                $empid = strval($rest['empid']);

                $i = $key+2;
                $sheet->cell('A'.$i, $rest['ttype']);
                $sheet->cell('H'.$i, $empid);
             }
        });

    });

里面的数据$collect都是字符串事件,数字存储为字符串

我认为你可以做到以下几点

$sheet->setCellValue('H'.$i, $empid);

而不是

$sheet->cell('H'.$i, $empid);

Larvel maatwebsite/excel 版本 2.*

Excel::create('Endorsement', function ($excel) use ($collect) {

    $excel->sheet('Endorsement', function ($sheet) use ($collect) {

        $sheet->setColumnFormat(array(
            'H' => \PHPExcel_Style_NumberFormat::FORMAT_TEXT,
            'AS' => \PHPExcel_Style_NumberFormat::FORMAT_TEXT,
        ));

        $this->template($sheet);

        foreach ($collect as $key => $rest) {

            $i = $key + 2;

            $sheet->setCellValueExplicit('H' . $i, $rest['empid']);
            $sheet->setCellValueExplicit('AS' . $i, $rest['account_no']);
        }
    });
});