php datatable导出excel,开发日常小结(3):如何使用datatable导出数据到Excel?-- 充值查询数据实例...

2018年4月6日

运营部的妹子们又来需求了,查了网上资料,很快的完成了,虽然只是基础;

实现思路:

使用datatable的插件--buttons;

1)datatable的数据显示不需要我多说了,各位都懂的;

2)加入buttons插件,其实分两步:一是导入js;二是编写js;(又是多余的废话。。)

导入js:

编写js:

buttons 部分 :

dom: 'Bfrtip',

"buttons": [{

'extend': 'excel',

'text': '导出为Excel统计表',//定义导出excel按钮的文字

'className': 'btn btn-primary', //按钮的class样式

'exportOptions': {

'modifier': {

'page': 'all'

}

}

}],

datatable 部分:

setTable: function(){

table = $("#player-list-table").DataTable({

"bLengthChange":false,

"bFilter":false,

"bDeferRender":true,

"bPaginate":true,

"bProcessing":true,

"bSort":true,

"ordering": true,

"bAutoWidth":false,

"bSortClasses":false,

"bStateSave":false,

"iDisplayLength" : 20,

"iDisplayStart" : 0,

"bOrdering": true,//全局禁用排序

"order": [[ 0, "desc" ]],//0:根据第一列排序,asc:表示升序。bSort需要设置为true

"oLanguage": {

"sProcessing": "处理中...",

"sLengthMenu": "显示 _MENU_ 项结果",

"sZeroRecords": "没有匹配结果",

"sInfo": "显示第 _START_ 至 _END_ 条记录,共 _TOTAL_ 条记录",

"sInfoEmpty": "无记录显示",

"sSearch": "搜索:",

"sUrl": "",

"sEmptyTable": "表中数据为空",

"sLoadingRecords": "载入中...",

"sInfoThousands": ",",

"oPaginate": {

"sFirst": "首页",

"sPrevious": "上一页",

"sNext": "下一页",

"sLast": "末页"

}

},

dom: 'Bfrtip',

"buttons": [{

'extend': 'excel',

'text': '导出为Excel统计表',//定义导出excel按钮的文字

'className': 'btn btn-primary', //按钮的class样式

'exportOptions': {

'modifier': {

'page': 'all'

}

}

}],

"ajax":{

"type":"POST",

"url":"${contextPath}/rechargeManager/getRechargeList",

"data":function(d){

/* d.roleId = $("#search-roleId").val(); */

/* d.packageId = $("#search-packageId").val().trim(); */

var allPackageIds = $("input[name='packageId']:checked");

var allChannelIds = $("input[name='channelId']:checked");

var packageIds="";

var channelIds="";

for(var i = 0;i < allPackageIds.length;i++){

packageIds = packageIds + $(allPackageIds[i]).val()+",";

}

for(var j = 0;j < allChannelIds.length;j++){

channelIds = channelIds + $(allChannelIds[j]).val()+",";

}

d.packageIds = packageIds;

d.channelIds = channelIds;

d.startTime = new Date($("#search-startTime").val().trim()).getTime();

d.endTime = new Date($("#search-endTime").val().trim()).getTime();

},

},

"aoColumns":[

/* {

"mData" : "roleId",

"orderable" : false, // 禁用排序

"sWidth" : "50px",

"render" : function(data, type, full, meta) {

var data = "

"+full.robotId+" "+full.roleId+"
";

return data;

}

}, */

{

"mData" : "date",

"orderable" : false, // 禁用排序

"sWidth" : "50px",

"sClass" : "canHidden",

},

{

"mData" : "packageId",

"orderable" : false, // 禁用排序

"sWidth" : "50px",

"sClass" : "canHidden",

},

{

"mData" : "registerNum",

"orderable" : false, // 禁用排序

"sWidth" : "50px",

"sClass" : "canHidden",

/* "render" : function(data, type, full, meta) {

data = "

"+full.roleName+"";

return data;

}*/

},

{

"mData" : "newRechargeNum",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden newRechargeTr",

},

{

"mData" : "newRechargeAmount",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden newRechargeTr",

},

{

"mData" : "newRechargeAvg",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden newRechargeTr",

},

{

"mData" : "totalRechargeNum",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden totalRechargeTr",

},

{

"mData" : "totalRechargeAmount",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden totalRechargeTr",

},

{

"mData" : "totalRechargeAvg",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden totalRechargeTr",

},

{

"mData" : "oldRechargeNum",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden oldRechargeTr",

},

{

"mData" : "oldRechargeAmount",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden oldRechargeTr",

},

{

"mData" : "oldRechargeAvg",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden oldRechargeTr",

},

{

"mData" : "logicNewRechargeNum",

"orderable" : false, // 禁用排序

"sWidth" : "100px",

"sClass" : "canHidden totalRechargeTr",

},

]

});

},

如此一来便实现了需求。

1)先看页面效果:

2bbb25f3ba96ab15b8f3448d10369560.png

2)excel导出效果:

14c4b0664ea1a309dc8fdbf8828e5371.png

更多参考:

1. https://blog.csdn.net/nihaoqiulinhe/article/details/53940475

2. https://blog.csdn.net/liuyuqin1991/article/details/74980616#t3

3. https://blog.csdn.net/zxf1242652895/article/details/73469500

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值