解决问题:
1.不能全部导出;
2.导出数字超过12位会自动转为科学计数法;
3.xx/xx类似数据会自动转为日期格式;
在线测试样例
使用环境:
jQuery v3.3.1;
umd版本 popper.js v1.15.0;
Bootstrap v4.2.1;
bootstrap-table v1.13.3;
tableExport.jquery.plugin/ tableExport.js v1.06;
bootstrap-table-export v1.13.3;
参考:
bootstrap-table
Issue #3830 用服务器分页导出所有数据
导出插件配置参考
获取当前实例配置
tableExport.jquery.plugin
1.导出全部数据
例子用的是声明式,我用的是命令式。
导出用到的配置项:
// js
{
toolbar: '#toolbar', //导出按钮所在标签
showExport: true,
exportDataType: 'all', //'base','all'
exportTypes: ['xml', 'csv', 'txt', 'excel'], //可导出文件格式 ['json', 'xml', 'csv', 'txt', 'sql', 'excel']
exportOptions: {
fileName: '导出文件名'
},
queryParams: function (pms) {
// 获取实例配置
var op = $('#table').bootstrapTable('getOptions');//选择器根据实际修改
//导出判断(导出时分页参数 pagination 是false) 导出就查询所有数据
if (op.pagination === false) { pms.pageNumber = 1; pms.pageSize = op.totalRows; } return pms; }, }
服务端返回数据格式:
// C#
public class ResultModel<T>
{
public string DataName { get; set; }
// bootstrap-table 默认的数据名称
public T Data { get; set; }
public string Msg { get; set; }
// bootstrap-table 默认的数据总数名称
public int DataCount { get; set; }
}
2.Excel 导出格式化问题
参考:配置Excel导出时格式化
//js
exportOptions: {
fileName: 'fileName',
mso: {
//cell td实例
//row td所在行
//col td所在列
onMsoNumberFormat: function (cell, row, col) {
return '\\@';
}
},
},