Laravel 如何在maatwebsite/excel中从2.x升级到3.x?

Laravel 如何在maatwebsite/excel中从2.x升级到3.x?,laravel,maatwebsite-excel,Laravel,Maatwebsite Excel,我将我的应用程序迁移到了laravel 5.7。在composer.json中安装软件包时,我从“maatwebsite/excel:~2.1.0”升级到了“maatwebsite/excel”:“^3.1”。因此,现在我的导出功能不再起作用。我尝试在中进行升级,但对我无效。这是旧版本中使用的旧代码: $claim = Claim::all(); $count = Claim::count(); $name = 'Liste réclamations '.date('d-m-Y H-i');

我将我的应用程序迁移到了laravel 5.7。在composer.json中安装软件包时,我从“maatwebsite/excel:~2.1.0”升级到了“maatwebsite/excel”:“^3.1”。因此,现在我的导出功能不再起作用。我尝试在中进行升级,但对我无效。这是旧版本中使用的旧代码:

$claim = Claim::all();
$count = Claim::count();
$name = 'Liste réclamations '.date('d-m-Y H-i');
    Excel::create($name, function($excel) use($claim, $count) {

        $excel->sheet('Sheetname', function($sheet) use($claim, $count) {

            $i = 2;
            $rows = $count;
            $rows++;

            $sheet->setHeight(1, 25);
            $sheet->setAutoSize(true);
            $sheet->setBorder('A1:AH'.$rows, 'thin');

            $sheet->row(1, array(

                'Utilisateur',
                'Référence',
                'Infraction',
                'Groupe oiseaux',
                "Type de braconnage",
                "Type de l'espèce",
                "Nom de l'espèce",
                "Autre info de l'espèce",
                "Description de l'oiseau",
                "Le nombre d'oiseau",
                "Le nombre d'oiseaux mis en vente",
                "Prix de vente",
                "Lieu de la vente",
                "Nombre d'oiseaux détenus",
                "Interdiction de la chasse",
                "Présence des forces de l'ordre",
                "Contact des autorités compétentes",
                'Liste des autorités compétentes',
                "Intervention immédiate",
                "Type d'intervention",
                "L'objectif de la détention",
                "Autre objectif",
                "Indications sur l'état de l'oiseau",
                "Autre indication",
                "Lieu de l'infraction",
                "Gouvernorat de l'infraction",
                "Latitude",
                "Longitude",
                "Date de l'infraction",
                "L'heure de l'infraction",
                "Description de l'infraction",
                "Etat",
                "Date de création"

            ))->cells('A1:AH1', function($cells) {

                $cells->setBackground('#1E86CF');
                $cells->setFont(array(
                    'family'     => 'Calibri',
                    'size'       => '12',
                    'bold'       =>  true
                ));
                $cells->setFontColor('#ffffff');

            });

            foreach ($claim as $key => $claim) {

                $braconnage = '';
                $contact= '' ;

                $braconnage_link = Claimtypelink::where('claim_id',$claim->id)->with('claimbrac')->get();
                $contact_link = Claimcontactlink::where('claim_id',$claim->id)->with('claimcontactaut')->get();

                if(isset($braconnage_link)){
                    foreach ($braconnage_link as $key => $value) {
                        $braconnage = $braconnage.$value->claimbrac['title_fr'].' | ';
                    }
                }

                if(isset($contact_link)){
                    foreach ($contact_link as $key => $value) {
                        $contact = $contact.$value->claimcontactaut['title_fr'].' | ';
                    }
                }                       

                $sheet->row($i, array(

                    $claim->user['name'], 
                    $claim->reference,
                    $claim->name_infraction,
                    $claim->group_oiseau,
                    $braconnage,
                    $claim->type_espece,
                    $claim->bird['title_fr'],
                    $claim->type_espece_other,
                    $claim->description_oiseau,
                    $claim->num_espece,
                    $claim->num_espece_vente,
                    $claim->prix_vente,
                    $claim->lieu_vente,
                    $claim->num_espece_detenu,
                    $claim->interdiction_chasse,
                    $claim->presence_ordre,
                    $claim->contact_autorite,
                    $contact,
                    $claim->intervention_immediate,
                    $claim->type_intervention,
                    $claim->objectif_detention,
                    $claim->objectif_detention_other,
                    $claim->indication_etat_oiseau,
                    $claim->indication_etat_oiseau_other,
                    $claim->lieu_infraction,
                    $claim->governorate['title_fr'],
                    $claim->latitude,
                    $claim->longitude,
                    $claim->date_infraction,
                    $claim->time_infraction,
                    $claim->description_infraction,
                    $claim->etat,
                    $claim->created_at

                ));

                $i++;
            }    

        });

    })->download('xls');

我已重新创建了您的项目示例,以实现此功能: 按照步骤完全按照我所做的方式实施:

  • 安装程序包:
  • 编写器需要maatwebsite/excel
    
  • 现在运行以下命令:
  • php artisan make:export ClaimsExport--model=Claim
  • 这将创建app/Exports/ClaimsExport.php。粘贴以下代码:

  • @zgabievi也许你能帮我。看看这个:很抱歉回答晚了。我没有在excel文件中使用分页。我在新文档中找不到这个部分。希望你能找到答案。