Bootstrap Table表格分页的使用及分页数据(Excel)导出

####相关文档

Bootstrap Table官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/
Bootstrap 中文网:http://www.bootcss.com/
Bootstrap Table Demo:http://issues.wenzhixin.net.cn/bootstrap-table/index.html

####步骤:

1:引入Bootstrap Table表格插件相关链接:这里直接拿来用就可以了,如果要下载到本地,可以自行去官网下载。

    <link href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
	<!-- 引入bootstrap-table样式 -->
	<link href="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet">
	<!-- jquery及bootstrapjs -->
	<script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
	<script src="https://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

	<!-- bootstrap-table.min.js -->
	<script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
	<!-- 引入中文语言包 -->
	<script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/locale/bootstrap-table-zh-CN.min.js"></script>

2:实现一个简单的表格和分页
如果不会可以参考这篇教程:
https://www.jianshu.com/p/b5ca011a0d9c
自己写了一个json格式的数据,进行模拟

3:前端js实现打印(导出)excel表格
参考:https://www.jianshu.com/p/b5bcee88cf40

4:可复制黏贴的代码:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		
	</head>
	<link href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
	<!-- 引入bootstrap-table样式 -->
	<link href="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet">
	<!-- jquery及bootstrapjs -->
	<script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
	<script src="https://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

	<!-- bootstrap-table.min.js -->
	<script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
	<!-- 引入中文语言包 -->
	<script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/locale/bootstrap-table-zh-CN.min.js"></script>

	<body>
		<div class="tools">
			<button type="button" class="btn green" id="excell" onclick="method5('mytab')">导出表格</button>
		</div>

		<table id="mytab" class="table table-hover"></table>
		<script>
			$('#mytab').bootstrapTable({
				url: 'data1.json',
				queryParams: "queryParams",
				toolbar: "#toolbar",
				sidePagination: "true",
				striped: true, // 是否显示行间隔色
				//search : "true",
				uniqueId: "ID",
				pageSize: "5",
				pagination: true, // 是否分页
				sortable: true, // 是否启用排序
				columns: [{
						field: 'id',
						title: '登录名'
					},
					{
						field: 'name',
						title: '昵称'
					},
					{
						field: 'price',
						title: '角色'
					},
					{
						field: 'price',
						title: '操作',
						width: 120,
						align: 'center',
						valign: 'middle',
						formatter: actionFormatter,
					},

				]
			});
			//操作栏的格式化
			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;
			}

			//打印表格
			var idTmr;

			function getExplorer() {
				var explorer = window.navigator.userAgent;
				//ie  
				if(explorer.indexOf("MSIE") >= 0) {
					return 'ie';
				}
				//firefox  
				else if(explorer.indexOf("Firefox") >= 0) {
					return 'Firefox';
				}
				//Chrome  
				else if(explorer.indexOf("Chrome") >= 0) {
					return 'Chrome';
				}
				//Opera  
				else if(explorer.indexOf("Opera") >= 0) {
					return 'Opera';
				}
				//Safari  
				else if(explorer.indexOf("Safari") >= 0) {
					return 'Safari';
				}
			}

			function method5(tableid) {
				if(getExplorer() == 'ie') {
					var curTbl = document.getElementById(tableid);
					var oXL = new ActiveXObject("Excel.Application");
					var oWB = oXL.Workbooks.Add();
					var xlsheet = oWB.Worksheets(1);
					var sel = document.body.createTextRange();
					sel.moveToElementText(curTbl);
					sel.select();
					sel.execCommand("Copy");
					xlsheet.Paste();
					oXL.Visible = true;

					try {
						var fname = oXL.Application.GetSaveAsFilename("Excel.xls",
							"Excel Spreadsheets (*.xls), *.xls");
					} catch(e) {
						print("Nested catch caught " + e);
					} finally {
						oWB.SaveAs(fname);
						oWB.Close(savechanges = false);
						oXL.Quit();
						oXL = null;
						idTmr = window.setInterval("Cleanup();", 1);
					}

				} else {
					tableToExcel(tableid)
				}
			}

			function Cleanup() {
				window.clearInterval(idTmr);
				CollectGarbage();
			}
			var tableToExcel = (function() {
				var uri = 'data:application/vnd.ms-excel;base64,',
					template = '<html><head><meta charset="UTF-8"></head><body><table  border="1">{table}</table></body></html>',
					base64 = function(
						s) {
						return window.btoa(unescape(encodeURIComponent(s)))
					},
					format = function(s, c) {
						return s.replace(/{(\w+)}/g, function(m, p) {
							return c[p];
						})
					}
				return function(table, name) {
					if(!table.nodeType)
						table = document.getElementById(table)
					var ctx = {
						worksheet: name || 'Worksheet',
						table: table.innerHTML
					}
					window.location.href = uri + base64(format(template, ctx))
				}
			})()
		</script>
	</body>

</html>

data1.json

 [  
        {  
            "id": 0,  
            "name": "高渐离",  
            "price": "$0"  
        },  
        {  
            "id": 1,  
            "name": "王昭君",  
            "price": "$1"  
        },  
        {  
            "id": 2,  
            "name": "安琪拉",  
            "price": "$2"  
        },  
        {  
            "id": 3,  
            "name": "蔡文姬",  
            "price": "$3"  
        },  
        {  
            "id": 4,  
            "name": "孙尚香",  
            "price": "$4"  
        },  
        {  
            "id": 5,  
            "name": "甄姬",  
            "price": "$5"  
        },  
        {  
            "id": 6,  
            "name": "妲己",  
            "price": "$6"  
        },  
        {  
            "id": 7,  
            "name": "米莱地",  
            "price": "$7"  
        },  
        {  
            "id": 8,  
            "name": "大乔",  
            "price": "$8"  
        },  
        {  
            "id": 9,  
            "name": "小巧",  
            "price": "$9"  
        },  
        {  
            "id": 10,  
            "name": "张亮",  
            "price": "$10"  
        },  
        {  
            "id": 11,  
            "name": "诸葛亮",  
            "price": "$11"  
        },  
        {  
            "id": 12,  
            "name": "韩信",  
            "price": "$12"  
        },  
        {  
            "id": 13,  
            "name": "兰陵王",  
            "price": "$13"  
        },  
        {  
            "id": 14,  
            "name": "貂蝉",  
            "price": "$14"  
        },  
        {  
            "id": 15,  
            "name": "后裔",  
            "price": "$15"  
        },  
        {  
            "id": 16,  
            "name": "黄忠",  
            "price": "$16"  
        },  
        {  
            "id": 17,  
            "name": "虞姬",  
            "price": "$17"  
        },  
        {  
            "id": 18,  
            "name": "程咬金",  
            "price": "$18"  
        },  
        {  
            "id": 19,  
            "name": "庄周",  
            "price": "$19"  
        },  
        {  
            "id": 20,  
            "name": "项羽",  
            "price": "$20"  
        }  
    ]  

导出当前选中页码的表格(这是第一页的数据)


例子2:
html

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        
    </head>
    <link href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
    <!-- 引入bootstrap-table样式 -->
    <link href="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet">
    <!-- jquery及bootstrapjs -->
    <script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

    <!-- bootstrap-table.min.js -->
    <script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
    <!-- 引入中文语言包 -->
    <script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/locale/bootstrap-table-zh-CN.min.js"></script>

    <body>
     

        <table id="mytab" class="table table-hover"></table>
        <script>
           $('#mytab').bootstrapTable({
           		method: 'get',
           		url: "http://192.xxx.4.xxx:8093/chemApp/caller/getCallers.action",// 请求路径
           		striped: true, // 是否显示行间隔色
           		pageNumber: 1, // 初始化加载第一页
           		pagination: true,// 是否分页
           		sidePagination: 'server',// server:服务器端分页|client:前端分页
           		pageSize: 15,// 单页记录数
           		queryParams: function (params) {// 上传服务器的参数
           			var temp = {// 如果是在服务器端实现分页,limit、offset这两个参数是必须的
           					
           					        									
           					"pageBean.page": (params.offset / params.limit) + 1, // 当前页码
           					"pageBean.rows": params.limit, // 每页显示数量			   
           					"pageBean.pagination": true
           			};
           			return temp;
           		},
           		columns: [{
           			checkbox: true
           		}, {
           			title: 'id',
           			field: 'id',
           			visible: false
           		}, {
           			title: '预约时间',
           			field: 'visitTime',
           		}, {
           			title: '姓名',
           			field: 'name',
           		}, {
           			title: '性别',
           			field: 'sex',
           			
           		}, {
           			title: '证件号码',
           			field: 'card',
           		}, {
           			title: '联系电话',
           			field: 'phone',
           		}, 
           		 {
           			title: '被访姓名',
           			field: 'viewPeople',
           			
           		},{
           			title: '申请时间',
           			field: 'applyTime',
           		}, {
           			title: '来访事由',
           			field: 'viewReason',
           			
           		}, {
           			title: '离场时间',
           			field: 'leaveTime',
           			
           		}]
           	})
        </script>
    </body>

</html>

以上url里面的json数据

{"msg":"查询成功","total":15,"code":1,"rows":[{"id":2,"deviceId":"44100AE7ECB4","name":"caller_upd","sex":1,"visitReason":null,"viewReason":"1","viewPeople":"890","card":"432228202101018001","isLeave":0,"phone":"","visitTime":1614580600000,"organId":0,"fenceId":null,"headUrl":"http://images/cmao.jpg","leaveTime":1615268534000,"pageBean":null},{"id":6,"deviceId":"00000383","name":"李源","sex":1,"visitReason":null,"viewReason":"1","viewPeople":"John lee","card":"432228202101018001","isLeave":0,"phone":"18117166505","visitTime":1618552142056,"organId":0,"fenceId":null,"headUrl":"/chem/images/cmao.jpg","leaveTime":0,"pageBean":null},{"id":9,"deviceId":"1111111","name":"访客001","sex":0,"visitReason":"来访事由","viewReason":"1","viewPeople":"张龙","card":"432228202101018001","isLeave":0,"phone":"17878742778","visitTime":1621328848000,"organId":0,"fenceId":null,"headUrl":"","leaveTime":0,"pageBean":null},{"id":10,"deviceId":"21212222","name":"21212","sex":1,"visitReason":null,"viewReason":"1","viewPeople":"21212","card":"340823199508151523","isLeave":0,"phone":"13661725475","visitTime":1623054050314,"organId":0,"fenceId":null,"headUrl":"/chem/images/cmao.jpg","leaveTime":0,"pageBean":null},{"id":11,"deviceId":"33333333333333","name":"33","sex":1,"visitReason":null,"viewReason":"1","viewPeople":"333","card":"340823199508151523","isLeave":0,"phone":"13661725475","visitTime":1623055766879,"organId":0,"fenceId":null,"headUrl":"/chem/images/cmao.jpg","leaveTime":0,"pageBean":null},{"id":12,"deviceId":"22333333","name":"3","sex":1,"visitReason":null,"viewReason":"1","viewPeople":"3","card":"340823199508151523","isLeave":0,"phone":"13661725475","visitTime":1623059682935,"organId":0,"fenceId":null,"headUrl":"/chem/images/cmao.jpg","leaveTime":0,"pageBean":null},{"id":13,"deviceId":"0000089","name":"zs","sex":1,"visitReason":null,"viewReason":"1","viewPeople":"ls","card":"428823188809098110","isLeave":0,"phone":"17878234567","visitTime":1623143962000,"organId":0,"fenceId":null,"headUrl":null,"leaveTime":1624607416000,"pageBean":null},{"id":14,"deviceId":"00000000000","name":"问我","sex":1,"visitReason":"来访事由","viewReason":"1","viewPeople":"890","card":"432228202101018001","isLeave":0,"phone":"17878742778","visitTime":1623827185000,"organId":0,"fenceId":null,"headUrl":"/chem/images/cmao.jpg","leaveTime":0,"pageBean":null},{"id":15,"deviceId":"undefined","name":"12","sex":0,"visitReason":null,"viewReason":"0","viewPeople":"21","card":"21","isLeave":0,"phone":"21","visitTime":1624262495000,"organId":0,"fenceId":null,"headUrl":null,"leaveTime":0,"pageBean":null},{"id":16,"deviceId":"9999999","name":"","sex":0,"visitReason":null,"viewReason":"0","viewPeople":"","card":"","isLeave":0,"phone":"","visitTime":1624262552000,"organId":0,"fenceId":null,"headUrl":null,"leaveTime":0,"pageBean":null},{"id":17,"deviceId":"43434343","name":"ww11","sex":1,"visitReason":null,"viewReason":"1","viewPeople":"李俊飞2","card":"340823199308151525","isLeave":0,"phone":"13661725175","visitTime":1624263783000,"organId":0,"fenceId":null,"headUrl":null,"leaveTime":0,"pageBean":null},{"id":18,"deviceId":"wqwq","name":"","sex":0,"visitReason":null,"viewReason":"0","viewPeople":"","card":"","isLeave":0,"phone":"","visitTime":1624423217000,"organId":0,"fenceId":null,"headUrl":null,"leaveTime":0,"pageBean":null},{"id":19,"deviceId":"12121212","name":"","sex":0,"visitReason":null,"viewReason":"0","viewPeople":"","card":"","isLeave":0,"phone":"","visitTime":1624423320000,"organId":0,"fenceId":null,"headUrl":null,"leaveTime":0,"pageBean":null},{"id":20,"deviceId":"81358900","name":"","sex":0,"visitReason":null,"viewReason":"0","viewPeople":"","card":"","isLeave":0,"phone":"","visitTime":1624423546000,"organId":0,"fenceId":null,"headUrl":null,"leaveTime":0,"pageBean":null},{"id":21,"deviceId":"2121","name":"","sex":0,"visitReason":null,"viewReason":"0","viewPeople":"","card":"","isLeave":0,"phone":"","visitTime":1624424660000,"organId":0,"fenceId":null,"headUrl":null,"leaveTime":0,"pageBean":null}]}

效果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bootstrap Table 是一个功能强大的开源 jQuery 插件,它可以将简单的 HTML 表格转换为功能丰富、易于使用且可扩展的 Bootstrap 样式表格。下面是 Bootstrap Table使用方法: 1. 引入相关文件:在 HTML 文件中引入 jQuery 和 Bootstrap 的相关文件以及 Bootstrap Table 的 CSS 和 JS 文件。 ```html <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.css"> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.js"></script> ``` 2. 创建 HTML 表格:在 HTML 文件中创建一个普通的表格。 ```html <table id="myTable"> <thead> <tr> <th data-field="id">ID</th> <th data-field="name">Name</th> <th data-field="price">Price</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Item 1</td> <td>$1</td> </tr> <tr> <td>2</td> <td>Item 2</td> <td>$2</td> </tr> </tbody> </table> ``` 3. 初始化 Bootstrap Table:在 JavaScript 中使用 Bootstrap Table 插件来初始化表格。 ```javascript $(function() { $('#myTable').bootstrapTable(); }); ``` 此时,你就可以看到一个基本的 Bootstrap Table 表格了。你可以根据自己的需要进行配置和定制,以下是一些常用的配置选项: - `data-url`:指定从服务器加载数据的 URL。 - `data`:指定表格数据,可以是一个数组或一个 URL。 - `columns`:定义表格的列,可以包含列的名称、数据字段、格式化函数等。 - `search`:启用搜索功能。 - `pagination`:启用分页功能。 - `sortable`:启用排序功能。 - `showExport`:启用导出功能。 以上是 Bootstrap Table 的基本使用方法和常用配置选项,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值