在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
true
to 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(){
- (<span class="string">"#datatable"</span><span>).bootstrapTable(</span><span class="string">'refresh'</span><span>,{url:</span><span class="string">'__MODULE__/Statistics/listData'</span><span>}); </span></span></li><li class=""><span> } </span></li><li class="alt"><span> <span class="comment">//查询条件</span><span> </span></span></li><li class=""><span> <span class="keyword">function</span><span> queryParams(params){ </span></span></li><li class="alt"><span> params[<span class="string">'project_id'</span><span>] = $(</span><span class="string">"select[name=project_id]"</span><span>).find(</span><span class="string">"option:selected"</span><span>).val(); </span></span></li><li class=""><span> params[<span class="string">'time_field'</span><span>] = $(</span><span class="string">"select[name=time_field]"</span><span>).find(</span><span class="string">"option:selected"</span><span>).val(); </span></span></li><li class="alt"><span> params[<span class="string">'start_time'</span><span>] = $(</span><span class="string">"input[name=start_time]"</span><span>).val(); </span></span></li><li class=""><span> params[<span class="string">'end_time'</span><span>] = $(</span><span class="string">"input[name=end_time]"</span><span>).val(); </span></span></li><li class="alt"><span> params[<span class="string">'user_name'</span><span>] = $(</span><span class="string">"input[name=user_name]"</span><span>).val(); </span></span></li><li class=""><span> params[<span class="string">'telephone'</span><span>] = $(</span><span class="string">"input[name=telephone]"</span><span>).val(); </span></span></li><li class="alt"><span> params[<span class="string">'room_confirm_number'</span><span>] = $(</span><span class="string">"input[name=room_confirm_number]"</span><span>).val(); </span></span></li><li class=""><span> params[<span class="string">'lineson'</span><span>] = $(</span><span class="string">"select[name=lineson]"</span><span>).val(); </span></span></li><li class="alt"><span> params[<span class="string">'invoice'</span><span>] = $(</span><span class="string">"select[name=invoice]"</span><span>).val(); </span></span></li><li class=""><span> <span class="keyword">return</span><span> params; </span></span></li><li class="alt"><span> } </span></li><li class=""><span> </span></li><li class="alt"><span> </span></li><li class=""><span> <span class="keyword">function</span><span> DoOnMsoNumberFormat(cell, row, col) { </span></span></li><li class="alt"><span> <span class="keyword">var</span><span> result = </span><span class="string">""</span><span>; </span></span></li><li class=""><span> <span class="keyword">if</span><span> (row > 0 && col == 0) </span></span></li><li class="alt"><span> result = <span class="string">"\\@"</span><span>; </span></span></li><li class=""><span> <span class="keyword">return</span><span> result; </span></span></li><li class="alt"><span> } </span></li><li class=""><span> <span class="keyword">var</span><span> rowCount = 0; </span></span></li><li class="alt"><span> (<span class="string">"#datatable"</span><span>).bootstrapTable(</span><span class="string">'refresh'</span><span>,{url:</span><span class="string">'__MODULE__/Statistics/listData'</span><span>}); </span></span></li><li class=""><span> } </span></li><li class="alt"><span> <span class="comment">//查询条件</span><span> </span></span></li><li class=""><span> <span class="keyword">function</span><span> queryParams(params){ </span></span></li><li class="alt"><span> params[<span class="string">'project_id'</span><span>] = $(</span><span class="string">"select[name=project_id]"</span><span>).find(</span><span class="string">"option:selected"</span><span>).val(); </span></span></li><li class=""><span> params[<span class="string">'time_field'</span><span>] = $(</span><span class="string">"select[name=time_field]"</span><span>).find(</span><span class="string">"option:selected"</span><span>).val(); </span></span></li><li class="alt"><span> params[<span class="string">'start_time'</span><span>] = $(</span><span class="string">"input[name=start_time]"</span><span>).val(); </span></span></li><li class=""><span> params[<span class="string">'end_time'</span><span>] = $(</span><span class="string">"input[name=end_time]"</span><span>).val(); </span></span></li><li class="alt"><span> params[<span class="string">'user_name'</span><span>] = $(</span><span class="string">"input[name=user_name]"</span><span>).val(); </span></span></li><li class=""><span> params[<span class="string">'telephone'</span><span>] = $(</span><span class="string">"input[name=telephone]"</span><span>).val(); </span></span></li><li class="alt"><span> params[<span class="string">'room_confirm_number'</span><span>] = $(</span><span class="string">"input[name=room_confirm_number]"</span><span>).val(); </span></span></li><li class=""><span> params[<span class="string">'lineson'</span><span>] = $(</span><span class="string">"select[name=lineson]"</span><span>).val(); </span></span></li><li class="alt"><span> params[<span class="string">'invoice'</span><span>] = $(</span><span class="string">"select[name=invoice]"</span><span>).val(); </span></span></li><li class=""><span> <span class="keyword">return</span><span> params; </span></span></li><li class="alt"><span> } </span></li><li class=""><span> </span></li><li class="alt"><span> </span></li><li class=""><span> <span class="keyword">function</span><span> DoOnMsoNumberFormat(cell, row, col) { </span></span></li><li class="alt"><span> <span class="keyword">var</span><span> result = </span><span class="string">""</span><span>; </span></span></li><li class=""><span> <span class="keyword">if</span><span> (row > 0 && col == 0) </span></span></li><li class="alt"><span> result = <span class="string">"\\@"</span><span>; </span></span></li><li class=""><span> <span class="keyword">return</span><span> result; </span></span></li><li class="alt"><span> } </span></li><li class=""><span> <span class="keyword">var</span><span> rowCount = 0; </span></span></li><li class="alt"><span> (”#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;
- (<span class="string">"#datatable"</span><span>).bootstrapTable(</span><span class="string">'hideRow'</span><span>, {index:rowCount}); </span></span></li><li class="alt"><span> (<span class="string">"#datatable"</span><span>).bootstrapTable(</span><span class="string">'hideRow'</span><span>, {index:rowCount}); </span></span></li><li class="alt"><span> (”#datatable td”).attr(“data-tableexport-msonumberformat”,“\@”);
- (<span class="string">"#datatable tr"</span><span>).attr(</span><span class="string">"data-tableexport-display"</span><span>,</span><span class="string">"always"</span><span>); </span></span></li><li class="alt"><span> }, </span></li><li class=""><span> onPageChange:<span class="keyword">function</span><span>(number,size){ </span><span class="comment">//表格翻页事件</span><span> </span></span></li><li class="alt"><span> (<span class="string">"#datatable tr"</span><span>).attr(</span><span class="string">"data-tableexport-display"</span><span>,</span><span class="string">"always"</span><span>); </span></span></li><li class="alt"><span> }, </span></li><li class=""><span> onPageChange:<span class="keyword">function</span><span>(number,size){ </span><span class="comment">//表格翻页事件</span><span> </span></span></li><li class="alt"><span> (<span class="string">"#datatable"</span><span>).bootstrapTable(</span><span class="string">'hideRow'</span><span>, {index:rowCount}); </span></span></li><li class=""><span> (<span class="string">"#datatable td"</span><span>).attr(</span><span class="string">"data-tableexport-msonumberformat"</span><span>,</span><span class="string">"\@"</span><span>); </span></span></li><li class="alt"><span> (<span class="string">"#datatable td"</span><span>).attr(</span><span class="string">"data-tableexport-msonumberformat"</span><span>,</span><span class="string">"\@"</span><span>); </span></span></li><li class="alt"><span> (<span class="string">"#datatable tr"</span><span>).attr(</span><span class="string">"data-tableexport-display"</span><span>,</span><span class="string">"always"</span><span>); </span></span></li><li class=""><span> </span></li><li class="alt"><span> }, </span></li><li class=""><span> showExport: true, <span class="comment">//是否显示导出按钮</span><span> </span></span></li><li class="alt"><span> buttonsAlign:<span class="string">"right"</span><span>, </span><span class="comment">//按钮位置</span><span> </span></span></li><li class=""><span> exportTypes:[<span class="string">'excel'</span><span>], </span><span class="comment">//导出文件类型</span><span> </span></span></li><li class="alt"><span> Icons:<span class="string">'glyphicon-export'</span><span>, </span></span></li><li class=""><span> exportOptions:{ </span></li><li class="alt"><span> ignoreColumn: [0,1], <span class="comment">//忽略某一列的索引</span><span> </span></span></li><li class=""><span> fileName: <span class="string">'总台帐报表'</span><span>, </span><span class="comment">//文件名称设置</span><span> </span></span></li><li class="alt"><span> worksheetName: <span class="string">'sheet1'</span><span>, </span><span class="comment">//表格工作区名称</span><span> </span></span></li><li class=""><span> tableName: <span class="string">'总台帐报表'</span><span>, </span></span></li><li class="alt"><span> excelstyles: [<span class="string">'background-color'</span><span>, </span><span class="string">'color'</span><span>, </span><span class="string">'font-size'</span><span>, </span><span class="string">'font-weight'</span><span>], </span></span></li><li class=""><span> onMsoNumberFormat: DoOnMsoNumberFormat </span></li><li class="alt"><span> }, </span></li><li class=""><span> columns: [ </span></li><li class="alt"><span> { </span></li><li class=""><span> checkbox:true, </span></li><li class="alt"><span> title: <span class="string">'选择'</span><span> </span></span></li><li class=""><span> },{ </span></li><li class="alt"><span> title: <span class="string">'序号'</span><span>, </span></span></li><li class=""><span> formatter: <span class="keyword">function</span><span> (value, row, index) { </span></span></li><li class="alt"><span> (<span class="string">".group_sum"</span><span>).html(row[</span><span class="string">'group_sum'</span><span>]); </span></span></li><li class=""><span> (<span class="string">".group_sum"</span><span>).html(row[</span><span class="string">'group_sum'</span><span>]); </span></span></li><li class=""><span> (<span class="string">".group_money_sum"</span><span>).html(row[</span><span class="string">'group_money_sum'</span><span>]+</span><span class="string">"元"</span><span>); </span></span></li><li class="alt"><span> (<span class="string">".confirm_sum"</span><span>).html(row[</span><span class="string">'confirm_sum'</span><span>]); </span></span></li><li class=""><span> (<span class="string">".confirm_sum"</span><span>).html(row[</span><span class="string">'confirm_sum'</span><span>]); </span></span></li><li class=""><span> (<span class="string">".confirm_money_sum"</span><span>).html(row[</span><span class="string">'confirm_money_sum'</span><span>]+</span><span class="string">"元"</span><span>); </span></span></li><li class="alt"><span> (<span class="string">".refund_sum"</span><span>).html(row[</span><span class="string">'refund_sum'</span><span>]); </span></span></li><li class=""><span> (<span class="string">".refund_sum"</span><span>).html(row[</span><span class="string">'refund_sum'</span><span>]); </span></span></li><li class=""><span> (<span class="string">".refund_money_sum"</span><span>).html(row[</span><span class="string">'group_back_sum'</span><span>]+</span><span class="string">"元"</span><span>); </span></span></li><li class="alt"><span> $(”.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’
- }
- ]
- });
//查询
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'
}
]
});
</div>
</div>