如果是客户端分页(client),可以通过参数
exportDataType: “all”, // (basic’, ‘all’, ‘selected’.)导出全部数据
如果分页方式是 sidePagination: “server”, 服务端分页,那么导出的数据始终是当前页
// 关于分页的文件---注意:bootstrap-table一定要用最新版本
<script type="text/javascript" src="${ctx}/js/bootstrap-table/tableExport.min.js"></script>
<script type="text/javascript" src="${ctx}/js/bootstrap-table/bootstrap-table-export.js"></script>
<script type="text/javascript" src="${ctx}/js/bootstrap-table/xlsx.core.min.js"></script>
<script type="text/javascript" src="${ctx}/js/bootstrap-table/FileSaver.min.js"></script>
// 部分代码
// 表格初始化
$('#queryTable').bootstrapTable({
url: operate.url.tableListUrl, //请求后台的URL(*)
method: 'post', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: false, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
sortable: false, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: queryParams,//传递参数(*)
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber:1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,
showColumns: false, //是否显示所有的列
showRefresh: false, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: false, //是否启用点击选中行
uniqueId: "ID", //每一行的唯一标识,一般为主键列
showToggle:false, //是否显示详细视图和列表视图的切换按钮
cardView: false, //是否显示详细视图
detailView: false, //是否显示父子表
columns: [
// {field: 'id', title: 'ID', align: 'center', valign: 'middle'},
{field: 'Name', title: '部门', align: 'center', valign: 'middle', width:10},
{field: 'Type', title: '类型', align: 'center', valign: 'middle', formatter: this_.mapMonitorTypeFormatter, width:10},
{field: 'Level', title: '等级', align: 'center', valign: 'middle', formatter: this_.mapAlarmLevelFormatter, width:8},
{field: 'Title', title: '标题', align: 'center', valign: 'middle', width:14},
{field: 'Switch', title: '开关', align: 'center', valign: 'middle', formatter: this_.mapAlarmSwitchFormatter, width:8},
{field: 'rDate', title: '时间', align: 'center', valign: 'middle', formatter: this_.timerStatusFormatter, width:15},
{field: 'DealStatus', title: '处理状态', align: 'center', valign: 'middle', formatter: this_.mapAlarmDealStatusFormatter, width:10},
{field: 'action', title: '操作', formatter: operate.tableInit.actionFormatter, events: operate.tableInit.actionEvent, width:15}
],
showExport: true, //是否显示导出
buttonsAlign:"left", //按钮位置
exportDataType: "all", //basic', 'all', 'selected'.
exportTypes:['excel'], //导出文件类型
Icons:'glyphicon glyphicon-export',
// exportButton: $('#export'), //为按钮btn_export 绑定导出事件 自定义导出按钮(可以不用)
exportOptions: {
ignoreColumn: [8], //忽略某一列的索引
fileName: '**数据', //文件名称设置
worksheetName: 'Sheet1', //表格工作区名称
tableName: '**数据表',
excelstyles: ['background-color', 'color', 'font-size', 'font-weight']
}
})
// 改变limit,可以导出全部数据
function queryParams(params) {
var options = $table.bootstrapTable('getOptions')
if (!options.pagination) {
params.limit = options.totalRows
}
return params
}
// 纪念一下,写了好半天,然后分页后台做了,因为数据量很大,前端页面容易崩
// queryParams: function(params){
// var options = $('#queryTable').bootstrapTable('getOptions')
// console.log(options.pagination )
// if (requestParam === undefined || requestParam === null) {
// requestParam = operate.getQueryParam();
// }
// if (!options.pagination) {
// params.limit = options.totalRows
// params.offset = 0;
// }
// return {limit: params.limit, offset: params.offset, data: requestParam};
//
// },