我想用yajra Datatable下载excel
这是我的刀片文件代码:
var oTable = $('#datatable_rows').DataTable({
"dom": '<"top"if>rt<"bottom"lBp><"clear">',
processing: true,
serverSide: true,
buttons : [{
extend : 'excel',
text : '<i class="flaticon2-download"></i>',
title : '',
className: "btn export",
filename : '13xyz-export',
exportOptions : {
page : 'all',
}
}],
searchable: true,
scrollX: true,
bSort: false,
pageLength: 500,
lengthMenu: [10, 25, 50, 100, 500, 10000],
ajax: {
url:'{{ route('xyz.index') }}',
data: function(d) {
d.client_name=$('#client_name').val(),
d.orderby=$('#hidden_field').val(),
d.asc_desc=$('#asc_desc').val()
}
},
ordering:false,
columns: [
{
searching: true,
data: "xyz0"
},
{
searching: true,
data: "xyz1"
},
{
searching: true,
data: "xyz2"
},
{
searching: true,
data: "xyz3"
},
{
searching: true,
"data": 'action',
},
]
});
控制器
if ($request->ajax())
{
$query = Xyz::select('*')->orderby($request->orderby , $asc_desc)->latest();
return Datatables::of($query)
->addColumn('action', function ($row) {
$btn = view('layout.editAction')->with(['ID' => $row->ID, 'route' => 'xuz', 'per_value'=>'myxyz'])->render();
return $btn;
})
->addColumn('checkbox', function ($row) {
$chk = view('layout.checkbox')->with(['ID' => $row->ID])->render();
return $chk;
})
->setRowClass(function () {
return 'row-move';
})
->setRowId(function ($row) {
return 'row-' . $row->ID;
})
->rawColumns(['action','checkbox'])
->make(true);
}
return view($this->view . '.index');
如果我能
服务器端为假
当500个请求超时时,它将出错。
如果我使用
服务器端为真
它立即给出所有数据,但当我在excel中导出文件时,它只给出当前页面记录。
当我按下excel按钮时,我想下载所有记录