PHP code example of toproplus / laravel-admin-ext-export

1. Go to this page and download the library: Download toproplus/laravel-admin-ext-export library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

toproplus / laravel-admin-ext-export example snippets


use Toproplus\Export\Widgets\CsvExport;
...
$grid->exporter(new CsvExport());

$csvExport = new CsvExport();
$csvExport->setName('会员列表');
$grid->exporter($csvExport);

// 修改add_time时间戳为日期格式
$csvExport->setColumn('add_time', function ($value) {
    return $value > 0 ? date('Y-m-d H:i:s', $value) : '';
});
// 如果要同时获取其他字段的值
$csvExport->setColumn('name', function ($name, $data) {
    return $name . '-' . $data['mobile'];
});

// 追加表格中未显示,但列表数据中已存在的字段值
$csvExport->addColumn('goods_spec', '商品规格');
// 追加字段并修改输出的值
$csvExport->addColumn('goods_spec', '商品规格', function($data) {
    return '规格:' . $data['goods_spec'];
});
// 追加到指定字段的后面
// 追加 goods_spec 到 goods_name 的后面
$csvExport->addColumn('goods_spec', '商品规格', 'goods_name');
// 追加到指定字段后,并修改输出值
$csvExport->addColumn('goods_spec', '商品规格', 'goods_name', function($data) {
    return '规格:' . $data['goods_spec'];
});
// 追加二维(或多维)数组下的字段,键用“.”相连
$csvExport->addColumn('posts.comments.user_id', '文章评论人ID');
// 追加不存在的字段并设置输出值
// 追加不存在的字段,一定要设置输出值
$csvExport->addColumn('hahaha', '哈哈哈', function($data) {
    return '哈哈哈' . $data['name'];
});


 $csvExport->setList(function ($columns, $list) {
     foreach ($list as $index => $data) {
         foreach ($columns as $column => $name) {
             switch ($column) {
                 case 'status':
                     $status_list = [0 => '禁用', 1 => '启用'];
                     $data[$column] = $status_list[$data[$column]] ?? '未知';
                     break;
                 case in_array($column, ['add_time', 'create_time', 'last_time']):
                     $data[$column] = $data[$column] > 0 ? date('Y-m-d H:i:s', $data[$column]) : '';
                     break;
             }

         }
         $list[$index] = $data;
     }
     return $list;
 });
 

 $csvExport->dd();