2024年最新bootstrapTable的使用及表格的导出_bootstraptable 导出(3),2024年最新学习Binder前必须要了解的知识点

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

<div id ="toolbar">
    <form class="form-inline" role="form" style="margin-left: 10px">
        <div class="form-group">
            <label for="name">姓名:</label>
            <input type="text" id="name" class="form-control" placeholder="请输入姓名">
        </div>
        <div class="form-group">
            <label for="phone">手机号码:</label>
            <input type="text" id="phone" class="form-control" placeholder="请输入手机号码">
        </div>
        <div class="form-group">
            <select id="selectExportDataType" class="form-control">
                <option value="basic">导出当前页</option>
                <option value="selected">导出所选数据</option>
                <option value="all">导出所有数据</option>
            </select>
        </div>
        <button onclick="query()" class="btn btn-default" style="background-color: rgb(88, 148, 255);color: #ffffff"><span class="glyphicon glyphicon-search"></span>&nbsp;&nbsp;查询</button>
        <button type="button" onclick="exportData()" class='btn btn-mini btn-info'>导出</button>
    </form>
</div>
<div>
    <table id="table"></table>
</div>
```

2.4 JS代码

<script>
    // 初始化表格
    function initTable(exportScope) {
        $('#table').bootstrapTable({
            //请求后台的URL(*)
            url: 'queryTableList',
            //请求方式(*)
            method: 'GET',
            //请求数据的格式
            dataType: "json",
            //工具按钮用哪个容器
            // toolbar: '#toolbar',
            //是否显示行间隔色
            striped: true,
            //当数据为 undefined 时显示的字符
            undefinedText: "无",
            //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            cache: false,
            //是否显示分页(*)
            pagination: true,
            //是否启用排序
            sortable: true,
            //排序方式(desc,asc)
            sortOrder: "asc",
            //分页方式:client客户端分页,server服务端分页(*)
            // sidePagination: "server",
            sidePagination: "client",
            //初始化加载第一页,默认第一页,并记录
            pageNumber: 1,
            //每页的记录行数(*)
            pageSize: 10,
            //可供选择的每页的行数(*) 当记录条数大于最小可选择条数时才会出现
            pageList: [10, 20, 50, 100],
            paginationPreText: '上一页',
            paginationNextText: '下一页',
            //是否显示表格搜索,bootstrap-table服务器分页不能使用搜索功能,可以自定义搜索框
            search: false,
            // search: true,
            strictSearch: true,
            //是否显示所有的列(选择显示的列)
            showColumns: true,
            //是否显示刷新按钮
            showRefresh: true,
            //最少允许的列数
            minimumCountColumns: 2,
            //单击选中列表
            clickToSelect: true,
            //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            //height: 500,
            //每一行的唯一标识,一般为主键列
            uniqueId: "id",
            //是否显示 切换试图(table/card)按钮
            showToggle: true,
            //是否显示详细视图
            cardView: false,
            //是否显示父子表
            detailView: false,
            //是否导出数据
            showExport: true,
            Icons : 'glyphicon-export icon-share',
            //选择导出数据的范围,默认basic:只导出当前页的表格数据;all:导出所有数据;selected:导出选中的数据
            exportDataType: exportScope,
            //导出文件类型,因为导出png文件时会出现忽略的列也显示;导出PDF文件出现中文乱码的问题,所以根据需要只支持Excel文件类型即可
            //['json', 'xml', 'png', 'csv', 'txt', 'sql', 'doc', 'excel', 'pdf']
            exportTypes: ['excel'],
            // Icons:'glyphicon-export',
            // export: 'glyphicon-export icon-share',
            //导出设置
            exportOptions: {
                ignoreColumn: [0,11],  //忽略某一列的索引
                worksheetName: 'sheet1',  //表格工作区名称
                // tableName: '总台帐报表',
                //导出文件的名称
                fileName: 'bootstrapTable表格数据',
            },
            //得到查询的参数
            queryParams : function (params) {
                debugger;
                //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
                var temp = {
                    name: $('#name').val(),
                    phone : $('#phone').val(),
                    // pageSize: params.limit, //页面大小
                    pageSize: 10, //页面大小
                    // pageNumber: (params.offset / params.limit) + 1, //页码
                    pageNumber: 1, //页码
                    sortOrder: params.order //排序方式(desc,asc)
                };
                return temp;
            },
            columns: [{
                checkbox: true,
                visible: true  //是否显示复选框
                // visible: $(this).val() === 'selected'
            }, {
                field: 'name',
                title: '姓名',
                sortable: true
            }, {
                field: 'phone',
                title: '手机号码',
                sortable: true
            }, {
                field: 'email',
                title: '邮箱',
                sortable: true,
                formatter: emailFormatter
            }, {
                field: 'homePage',
                title: '主页',
                formatter: linkFormatter
            }, {
                field: 'hobby',
                title: '兴趣爱好'
            }, {
                field: 'gender',
                title: '性别',
                sortable: true,
                formatter:sexFormatter
            }, {
                field: 'age',
                title: '年龄'
            }, {
                field: 'birthDate',
                title: '出生日期'
            }, {
                field: 'height',
                title: '身高'
            }, {
                field: 'note',
                title: '备注'
            }, {
                field:'id',
                title: '操作',
                width: 120,
                align: 'center',
                valign: 'middle',
                formatter: actionFormatter
            }, ],
            onLoadSuccess: function () {
            },
            onLoadError: function () {
                alert("数据加载失败!");
            },
            //双击行数据的事件
            onDblClickRow: function (row, $element) {
                // var id = row.ID;
                // EditViewById(id, 'view');
            },
        });
    }

    //连接字段格式化
    function linkFormatter(value, row, index) {
        return "<a href='" + value + "' title='单击打开连接' target='_blank'>" + value + "</a>";
    }
    //Email字段格式化
    function emailFormatter(value, row, index) {
        return "<a href='mailto:" + value + "' title='单击打开连接'>" + value + "</a>";
    }
    //性别字段格式化
    function sexFormatter(value) {
        var sex = "";
        if (value === "0") {
            color = 'Red';
            sex = "女";
        }
        else if (value === "1") {
            color = 'Green';
            sex = "男";
        }
        else {
            color = 'Yellow';
        }
        return '<div  style="color: ' + color + '">' + sex + '</div>';
    }
    //操作栏的格式化
    function actionFormatter(value, row, index) {
        var id = value;
        var result = "";
        result += "<a href='javascript:;' class='btn btn-xs green' onclick=\"EditViewById('" + id + "', view='view')\" title='查看'><span class='glyphicon glyphicon-search'></span></a>";
        result += "<a href='javascript:;' class='btn btn-xs blue' onclick=\"EditViewById('" + id + "')\" title='编辑'><span class='glyphicon glyphicon-pencil'></span></a>";
        result += "<a href='javascript:;' class='btn btn-xs red' onclick=\"DeleteByIds('" + id + "')\" title='删除'><span class='glyphicon glyphicon-remove'></span></a>";
        return result;
    }

    $(function () {
        //调用函数,初始化表格,导出时默认导出全部
        initTable('all');
    });

    function query(){
        initTable('all');
    }

    // 自定义按钮导出数据
    function exportData(){
        //选择导出的数据类型
        var dataType = $('#selectExportDataType').val();
        initTable(dataType);
        // debugger;
        // $('#table').tableExport({
        //     type: 'excel',
        //     // One of 'head', 'data', 'all'
        //     jsonScope: 'all',
        //     //忽略某一列的索引
        //     ignoreColumn: [0,11],
        //     //表格工作区名称
        //     worksheetName: 'sheet1',
        //     //下载文件名称
        //     fileName: '自定义导出数据',
        //     //处理导出内容,自定义某一行、某一列、某个单元格的内容
        //     onCellHtmlData: function (cell, row, col, data){
        //         // console.info(data);
        //         return data;
        //     },
        // });
    }

</script>

2.5完整代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--    <meta name="viewport" content="width=device-width, initial-scale=1 user-scalable=no">-->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap使用</title>
    <!--jquery-->
    <script type="text/javascript" src="/jquery/jquery-3.5.1.min.js"></script>

    <!--bootstrap-->
    <link rel="stylesheet" type="text/css" href="/bootstrap-3.3.7-dist/css/bootstrap.min.css">
    <script type="text/javascript" src="/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>

    <!--bootstrap-table-->
    <link rel="stylesheet" type="text/css" href="/bootstrap-table/bootstrap-table.min.css">
    <script type="text/javascript" src="/bootstrap-table/bootstrap-table.min.js"></script>
    <script type="text/javascript" src="/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>

    <!-- bootstrap-table表格 -->
    <!--bootstrap-table-export-->
    <script src="/bootstrap-table-export/bootstrap-table-export.js"></script>
<!--    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.10.1/extensions/export/bootstrap-table-export.js"></script>-->

    <!--在客户端保存生成的导出文件-->
    <script src="/bootstrap-table-export/FileSaver.min.js"></script>
    <!--以XLSX(Excel 2007+ XML格式)格式导出表(SheetJS)-->
    <script src="/bootstrap-table-export/xlsx.core.min.js"></script>
    <!--将表导出为PDF文件-->
    <script src="/bootstrap-table-export/jspdf.min.js"></script>
    <script src="/bootstrap-table-export/jspdf.plugin.autotable.js"></script>
    <!--以PNG格式导出表格-->
    <!--对于IE支持包括 html2canvas 之前的 es6-promise-->
    <script src="/bootstrap-table-export/es6-promise.auto.min.js"></script>
    <script src="/bootstrap-table-export/html2canvas.min.js"></script>
    <!--无论期望的格式如何,最后都包含 tableexport.jquery.plugin(不是tableexport)-->
    <script src="/bootstrap-table-export/tableExport.min.js"></script>
</head>
<body>
<H2 align="center">bootstrapTable表格页面</H2>
<hr/>
<div class="container-fluid">
    <div id ="toolbar">
        <form class="form-inline" role="form" style="margin-left: 10px">
            <div class="form-group">
                <label for="name">姓名:</label>
                <input type="text" id="name" class="form-control" placeholder="请输入姓名">
            </div>
            <div class="form-group">
                <label for="phone">手机号码:</label>
                <input type="text" id="phone" class="form-control" placeholder="请输入手机号码">
            </div>
            <div class="form-group">
                <select id="selectExportDataType" class="form-control">
                    <option value="basic">导出当前页</option>
                    <option value="selected">导出所选数据</option>
                    <option value="all">导出所有数据</option>
                </select>
            </div>
            <button onclick="query()" class="btn btn-default" style="background-color: rgb(88, 148, 255);color: #ffffff"><span class="glyphicon glyphicon-search"></span>&nbsp;&nbsp;查询</button>
            <button type="button" onclick="exportData()" class='btn btn-mini btn-info'>导出</button>
        </form>
    </div>
    <div>
        <table id="table"></table>
    </div>
</div>
</body>
<script>
    // 初始化表格
    function initTable(exportScope) {
        $('#table').bootstrapTable({
            //请求后台的URL(*)
            url: 'queryTableList',
            //请求方式(*)
            method: 'GET',
            //请求数据的格式
            dataType: "json",
            //工具按钮用哪个容器
            // toolbar: '#toolbar',
            //是否显示行间隔色
            striped: true,
            //当数据为 undefined 时显示的字符
            undefinedText: "无",
            //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            cache: false,
            //是否显示分页(*)
            pagination: true,
            //是否启用排序
            sortable: true,
            //排序方式(desc,asc)
            sortOrder: "asc",
            //分页方式:client客户端分页,server服务端分页(*)
            // sidePagination: "server",
            sidePagination: "client",
            //初始化加载第一页,默认第一页,并记录
            pageNumber: 1,
            //每页的记录行数(*)
            pageSize: 10,
            //可供选择的每页的行数(*) 当记录条数大于最小可选择条数时才会出现
            pageList: [10, 20, 50, 100],
            paginationPreText: '上一页',
            paginationNextText: '下一页',
            //是否显示表格搜索,bootstrap-table服务器分页不能使用搜索功能,可以自定义搜索框
            search: false,
            // search: true,
            strictSearch: true,
            //是否显示所有的列(选择显示的列)
            showColumns: true,
            //是否显示刷新按钮
            showRefresh: true,
            //最少允许的列数
            minimumCountColumns: 2,
            //单击选中列表
            clickToSelect: true,
            //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            //height: 500,
            //每一行的唯一标识,一般为主键列
            uniqueId: "id",
            //是否显示 切换试图(table/card)按钮
            showToggle: true,
            //是否显示详细视图
            cardView: false,
            //是否显示父子表
            detailView: false,
            //是否导出数据
            showExport: true,
            Icons : 'glyphicon-export icon-share',
            //选择导出数据的范围,默认basic:只导出当前页的表格数据;all:导出所有数据;selected:导出选中的数据
            exportDataType: exportScope,
            //导出文件类型,因为导出png文件时会出现忽略的列也显示;导出PDF文件出现中文乱码的问题,所以根据需要只支持Excel文件类型即可
            //['json', 'xml', 'png', 'csv', 'txt', 'sql', 'doc', 'excel', 'pdf']
            exportTypes: ['excel'],
            // Icons:'glyphicon-export',
            // export: 'glyphicon-export icon-share',
            //导出设置
            exportOptions: {
                ignoreColumn: [0,11],  //忽略某一列的索引
                worksheetName: 'sheet1',  //表格工作区名称
                // tableName: '总台帐报表',
                //导出文件的名称
                fileName: 'bootstrapTable表格数据',
            },
            //得到查询的参数
            queryParams : function (params) {
                debugger;
                //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
                var temp = {
                    name: $('#name').val(),
                    phone : $('#phone').val(),
                    // pageSize: params.limit, //页面大小
                    pageSize: 10, //页面大小
                    // pageNumber: (params.offset / params.limit) + 1, //页码
                    pageNumber: 1, //页码
                    sortOrder: params.order //排序方式(desc,asc)
                };
                return temp;
            },
            columns: [{
                checkbox: true,
                visible: true  //是否显示复选框
                // visible: $(this).val() === 'selected'
            }, {
                field: 'name',
                title: '姓名',
                sortable: true
            }, {
                field: 'phone',
                title: '手机号码',
                sortable: true
            }, {
                field: 'email',
                title: '邮箱',
                sortable: true,
                formatter: emailFormatter
            }, {
                field: 'homePage',
                title: '主页',
                formatter: linkFormatter
            }, {
                field: 'hobby',
                title: '兴趣爱好'
            }, {
                field: 'gender',
                title: '性别',
                sortable: true,
                formatter:sexFormatter
            }, {
                field: 'age',
                title: '年龄'
            }, {
                field: 'birthDate',
                title: '出生日期'
            }, {
                field: 'height',
                title: '身高'
            }, {
                field: 'note',
                title: '备注'
            }, {
                field:'id',
                title: '操作',
                width: 120,
                align: 'center',
                valign: 'middle',
                formatter: actionFormatter
            }, ],
            onLoadSuccess: function () {
            },
            onLoadError: function () {
                alert("数据加载失败!");
            },
            //双击行数据的事件
            onDblClickRow: function (row, $element) {
                // var id = row.ID;
                // EditViewById(id, 'view');
            },
        });
    }

    //连接字段格式化
    function linkFormatter(value, row, index) {
        return "<a href='" + value + "' title='单击打开连接' target='_blank'>" + value + "</a>";
    }
    //Email字段格式化
    function emailFormatter(value, row, index) {
        return "<a href='mailto:" + value + "' title='单击打开连接'>" + value + "</a>";
    }
    //性别字段格式化
    function sexFormatter(value) {
        var sex = "";
        if (value === "0") {
            color = 'Red';
            sex = "女";
        }
        else if (value === "1") {
            color = 'Green';
            sex = "男";


![img](https://img-blog.csdnimg.cn/img_convert/0dd0645bb53d4553796fffd4dbb9fcd0.png)
![img](https://img-blog.csdnimg.cn/img_convert/8a1ba8523c2109e909dde9829284a6cf.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

x = "";
        if (value === "0") {
            color = 'Red';
            sex = "女";
        }
        else if (value === "1") {
            color = 'Green';
            sex = "男";


[外链图片转存中...(img-dqRWpZQU-1715735271124)]
[外链图片转存中...(img-8uOf5QdY-1715735271125)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值