首页 > 解决方案 > 将数据导出到excel文件

问题描述

 **i want to export 100data from database but every sheet must have just 12 data **

我正在为我的 laravel 应用程序使用 maatwebsite 包

$data = array();
        $data['usertotal']      = DB::table('users')
                                ->join('employees', 'users.id', '=', 'employees.user_id')
                                ->select('users.first_name','users.last_name', 'employees.function', 'employees.salary')
                                ->skip($j)
                                ->take(12)
                                ->get();

//这是我的 maatwebsite 包代码 /* 开始导出数据 */

   Excel::load($sourceFilePath, function ($excel) use ($data)  {
         $excel->sheet('CNSS 2T19', function($sheet) use($data) {
         $datasheet = array();

         $i=0;
         foreach($data['total-user'] as $datanew){
                    $datasheet[$i] = array( $datanew['first_name'].' '.$datanew['last_name'],
                    $datanew['chez_emp'],
                    $datanew['cat_prof'],

                    $datanew['brut_1'],
                    $datanew['brut_2'],
                    $datanew['brut_3'],
                    $datanew['total'],

                );
            $i++;
         }

标签: phpexcellaravellaravel-5

解决方案


您应该使用 (offset , limit) 并且每个循环将 12 添加到偏移量,如下所示:

$data = array();
        $data['usertotal']      = DB::table('users')
                                ->join('employees', 'users.id', '=', 'employees.user_id')
                                ->select('users.first_name','users.last_name', 'employees.function', 'employees.salary')
                                ->offset($j+12)
                                ->limit(12)
                                ->get();

推荐阅读