Laravel-datatables: ๋‹ค์šด๋กœ๋“œ Excel ๋ฐ PDF Yajra ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์—์„œ ์˜ˆ๊ธฐ์น˜ ์•Š์€ JSON ํ˜•์‹ ๊ฐ€์ ธ ์˜ค๊ธฐ

์— ๋งŒ๋“  2020๋…„ 10์›” 09์ผ  ยท  2์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: yajra/laravel-datatables

๋ฌธ์ œ ์š”์•ฝ ๋˜๋Š” ๊ธฐ๋Šฅ ์š”์ฒญ

datatable-button, ๋ชจ๋“  js ๋ฐ ๋ชจ๋“  CSS๋ฅผ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ pdf๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์ง€ ์•Š๋Š” json ํ˜•์‹์„ ์–ป์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ์˜ ์ฝ”๋“œ ์Šค ๋‹ˆํŽซ

์—ฌ๊ธฐ ๋‚ด ์ปจํŠธ๋กค๋Ÿฌ์ž…๋‹ˆ๋‹ค

return DataTables::of(Permission::query())
            ->addIndexColumn()
            ->addColumn('actions', function ($users) {
                return ActionHelper::showUpdateDeleteButton('superadmin.permissions', $users->id);
            })
            ->rawColumns(['actions'])
            ->make(true);

์—ฌ๊ธฐ js์ž…๋‹ˆ๋‹ค

$('#dataTable').DataTable({
                processing: true,
                serverSide: true,
                ajax: '{!! route('superadmin.permissions.datatable') !!}',
                columns: [
                    { data: 'DT_RowIndex', name: 'DT_RowIndex' , orderable: false, searchable: false},
                    { data: 'id', name: 'id' },
                    { data: 'name', name: 'name' },
                    { data: 'created_at', name: 'created_at' },
                    { data: 'updated_at', name: 'updated_at' },
                    { data: 'actions', name: 'actions' }
                ],
                dom: 'lBfrtip',
                buttons : [
                    {extend: 'colvis', postfixButtons: [ 'colvisRestore' ] },
                    {extend:'csv'},
                    {extend: 'pdf', title:'File PDF Datatables'},
                    {extend: 'excel', title: 'File Excel Datatables'},
                    {extend:'print',title: 'Print Datatables'},
                ]
            });

์‹œ์Šคํ…œ ์„ธ๋ถ€ ์ •๋ณด

  • ์œˆ๋„์šฐ 10
  • PHP ๋ฒ„์ „ : PHP 7.3
  • Laravel ๋ฒ„์ „ 6.2
  • "yajra / laravel-datatables-buttons": "~ 4.6",
  • "yajra / laravel-datatables-oracle": "~ 9.0"
question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์„œ๋ฒ„ ์ธก ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด DataTable์˜ ์„œ๋น„์Šค ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋น ๋ฅธ ์‹œ์ž‘, ์•„๋ž˜ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

php artisan datatables:make Permission

์ฐธ์กฐ๋Š” https://yajrabox.com/docs/laravel-datatables/master/buttons-starter ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋ชจ๋“  2 ๋Œ“๊ธ€

์„œ๋ฒ„ ์ธก ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด DataTable์˜ ์„œ๋น„์Šค ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋น ๋ฅธ ์‹œ์ž‘, ์•„๋ž˜ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

php artisan datatables:make Permission

์ฐธ์กฐ๋Š” https://yajrabox.com/docs/laravel-datatables/master/buttons-starter ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์˜ ์„œ๋น„์Šค ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์„ ๋ณ€ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค ๐Ÿ‘๐Ÿป

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

vipin733 picture vipin733  ยท  3์ฝ”๋ฉ˜ํŠธ

shadoWalker89 picture shadoWalker89  ยท  3์ฝ”๋ฉ˜ํŠธ

ahmadbadpey picture ahmadbadpey  ยท  3์ฝ”๋ฉ˜ํŠธ

SGarridoDev picture SGarridoDev  ยท  3์ฝ”๋ฉ˜ํŠธ

ghost picture ghost  ยท  3์ฝ”๋ฉ˜ํŠธ