在bootstrap-table官网-》拓展模块中有导出模块的详细介绍。网址:http://bootstrap-table.wenzhixin.net.cn/zh-cn/extensions/
点击home按钮进入github官方文档,会看到导出使用的插件是bootstrap-table-export.js ,而这个插件中使用的是tableExport.jquery.plugin插件。后者是一个独立的表格导出插件。而前者是经过bootstrap官方将后者与bootstrap表格进行了完美的整合之后的插件。所以我们只需要使用前者即可。
文档参数说明:
Table Export
Use Plugin: tableExport.jquery.plugin
Usage
<script src="extensions/export/bootstrap-table-export.js"></script>
Options
showExport //是否显示到处按钮
- type: Boolean
- description: set
trueto show export button. - default:
false
exportDataType //导出表格方式(默认basic:只导出当前页的表格数据;all:导出所有数据;selected:导出选中的数据)
- type: String
- description: export data type, support: \'basic\', \'all\', \'selected\'.
- default:
basic
exportTypes //导出文件类型 ,支持多种类型文件导出
- type: Array
- description: export types, support types: \'json\', \'xml\', \'png\', \'csv\', \'txt\', \'sql\', \'doc\', \'excel\', \'xlsx\', \'pdf\'.
- default:
[\'json\', \'xml\', \'csv\', \'txt\', \'sql\', \'excel\']
exportOptions //导出的表格参数设置,这里参照tableExport.jquery.plugin插件中的参数进行设置,点击官网文档中的option蓝色字体就可跳转到该插件的说明文档处,网址:https://github.com/hhurz/tableExport.jquery.plugin#options。
- type: Object
- description: export options of
tableExport.jquery.plugin - default:
{}
Icons //导出按钮图标设置
- export: \'glyphicon-export icon-share\'
下面直接贴代码:
//查询 function refresh(){ $("#datatable").bootstrapTable(\'refresh\',{url:\'__MODULE__/Statistics/listData\'}); } //查询条件 function queryParams(params){ params[\'project_id\'] = $("select[name=project_id]").find("option:selected").val(); params[\'time_field\'] = $("select[name=time_field]").find("option:selected").val(); params[\'start_time\'] = $("input[name=start_time]").val(); params[\'end_time\'] = $("input[name=end_time]").val(); params[\'user_name\'] = $("input[name=user_name]").val(); params[\'telephone\'] = $("input[name=telephone]").val(); params[\'room_confirm_number\'] = $("input[name=room_confirm_number]").val(); params[\'lineson\'] = $("select[name=lineson]").val(); params[\'invoice\'] = $("select[name=invoice]").val(); return params; } function DoOnMsoNumberFormat(cell, row, col) { var result = ""; if (row > 0 && col == 0) result = "\\@"; return result; } var rowCount = 0; $("#datatable").bootstrapTable({ height:"500", url: \'__MODULE__/Statistics/listData\', //表格数据请求地址 pagination:true, //是否分页 search: false, //是否显示查询框 sortName: "id", //排序相关 sortOrder: "desc", queryParams:\'queryParams\', method:"post", sortable:true, dataType:\'json\', toolbar: "#exampleTableEventsToolbar", icons: {refresh: "glyphicon-repeat", toggle: "glyphicon-list-alt", columns: "glyphicon-list"}, pageList:[10, 25, 50, 100], clickToSelect:true, exportDataType:\'all\', onLoadSuccess:function(data){ //表格数据加载成功事件 rowCount = data.length-1; $("#datatable").bootstrapTable(\'hideRow\', {index:rowCount}); $("#datatable td").attr("data-tableexport-msonumberformat","\@"); $("#datatable tr").attr("data-tableexport-display","always"); }, onPageChange:function(number,size){ //表格翻页事件 $("#datatable").bootstrapTable(\'hideRow\', {index:rowCount}); $("#datatable td").attr("data-tableexport-msonumberformat","\@"); $("#datatable tr").attr("data-tableexport-display","always"); }, showExport: true, //是否显示导出按钮 buttonsAlign:"right", //按钮位置 exportTypes:[\'excel\'], //导出文件类型 Icons:\'glyphicon-export\', exportOptions:{ ignoreColumn: [0,1], //忽略某一列的索引 fileName: \'总台帐报表\', //文件名称设置 worksheetName: \'sheet1\', //表格工作区名称 tableName: \'总台帐报表\', excelstyles: [\'background-color\', \'color\', \'font-size\', \'font-weight\'], onMsoNumberFormat: DoOnMsoNumberFormat }, columns: [ { checkbox:true, title: \'选择\' },{ title: \'序号\', formatter: function (value, row, index) { $(".group_sum").html(row[\'group_sum\']); $(".group_money_sum").html(row[\'group_money_sum\']+"元"); $(".confirm_sum").html(row[\'confirm_sum\']); $(".confirm_money_sum").html(row[\'confirm_money_sum\']+"元"); $(".refund_sum").html(row[\'refund_sum\']); $(".refund_money_sum").html(row[\'group_back_sum\']+"元"); $(".residue_money_sum").html(row[\'residue_sum\']+"元"); var a = index+1; return a+"<span style=\'display:none;\'>"+row.id+"</span>" } },{ field: \'project_name\', align:"center", title: \'项目\' }, { field: \'user_name\', align:"center", title: \'姓名\' }, { field: \'telephone\', align:"center", title: \'电话\' },{ field: \'id_card_number\', align:"center", rowAttributes:"rowAttributes", title: \'身份证号\' },{ field: \'telephone\', align:"center", title: \'手机号\' },{ field: \'pos_r_n\', align:"center", title: \'POS机参考号\' },{ field: \'pos_c_n\', align:"center", title: \'POS机终端号\' },{ field: \'merchant_code\', align:"center", title: \'商户编码\' },{ field: \'bank_card_number\', align:"center", title: \'银行卡号\' },{ field: \'create_time\', align:"center", title: \'领取优惠时间\' },{ field: \'group_purchase_number\', align:"center", title: \'优惠编码\' },{ field: \'group_purchase_expenses\', align:"center", title: \'会员费用\' },{ field: \'back_pay_money\', align:"center", title: \'退款金额\' },{ field: \'refund_etime\', align:"center", title: \'退款时间\' },{ field: \'confirm_pay_money\', align:"center", title: \'认购金额\' },{ field: \'group_purchase_confirm_time\', align:"center", title: \'认购时间\' },{ field: \'room_confirm_number\', align:"center", title: \'认购房号\' },{ field: \'\', align:"center", title: \'账户余额\' },{ field: \'invoice_status\', align:"center", title: \'发票状态\', formatter: \'invoice_status_formatter\', events:\'confirmEvents\' },{ field: \'lineson\', align:"center", title: \'数据来源\', formatter: \'lineson_status_formatter\', events:\'confirmEvents\' } ] });
参考:https://blog.csdn.net/ning521513/article/details/60744749
http://www.htmleaf.com/jQuery/Table/201605113452.html
使支持xlsx格式:https://github.com/SheetJS/js-xlsx