bootstrap-table表格導出功能學習分享

在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'
            }
        ]
    });


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章