解決問題:
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 '\\@'; } }, },