【问题标题】:Add csv and excel export button in dataTables Laravel在 dataTables Laravel 中添加 csv 和 excel 导出按钮
【发布时间】:2021-02-21 16:41:19
【问题描述】:

我只想将 csv 和 excel 导出按钮添加到一个数据表。 我的控制器文件:

public function index(Request $request)
{
    $Databaseurl = Route('orders.index');
    if ($request->ajax()) {
        $orders = Order::all();
        return datatables()->of($orders)
            ->editColumn('price', function ($order) {
                return '<div class="text-nowrap text-center">'.number_format($order->price, 0, '.', ',').'</div>';
            })
            ->editColumn('address', function ($order) {
                return \Illuminate\Support\Str::limit($order->address,25);
            })
            ->editColumn('city', function ($order) {
                return '<div class="text-center">'.\Illuminate\Support\Str::limit($order->city,25).'</div>';
            })
            ->addIndexColumn()
            ->addColumn('action', function($order){
                return '<a href="'.route('order.edit',['id' => $order->id]).'" class="text-nowrap btn-sm btn-primary text-center"><i class="far fa-eye"></i> view</a>';
            })
            ->rawColumns(['action','city','price'])
            ->toJson();
    }
    return view('order.index',compact('Databaseurl'));
}

和数据表jquery代码:

<script type="text/javascript">
    $(function () {
        var table = $('.mydatatable').DataTable({
            "oLanguage": {
                "sUrl": "https://cdn.datatables.net/plug-ins/1.10.19/i18n/Persian.json",
            },
            "pageLength": 25,
            processing: true,
            serverSide: true,
            ajax: "{{ $Databaseurl }}",
            columns: [
                {data: 'id', name: 'id'},
                {data: 'customer_name', name: 'customer_name'},
                {data: 'address', name: 'address', searchable: false},
                {data: 'city', name: 'city'},
                {data: 'price', name: 'price', searchable: false},
                {data: 'created_at', name: 'created_at', searchable: false},
                {data: 'action', name: 'action', orderable:false,searchable: false},
            ],
        });
    });
</script>

我也看过this video,但我不希望通过更困难的步骤并在同一个控制器和刀片文件中解决这个问题。 因为我只想要一个视图表 有解决办法吗?

【问题讨论】:

    标签: laravel


    【解决方案1】:

    几天后,我发现了这种方式: 首先将此链接添加到您的 blode 文件中:

    <link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.0.3/css/buttons.dataTables.min.css">
    
    <script src="https://cdn.datatables.net/buttons/1.6.4/js/dataTables.buttons.min.js"></script>
    

    然后将以下代码添加到js数据表代码中:

     dom: 'Bfrtip',
     buttons: [
          'copy', 'excel',
     ],
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 2020-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 2017-12-02
      相关资源
      最近更新 更多