kennyliu

在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(){
        $("#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

分类:

技术点:

相关文章: