bootstrap-table是一款很NICE的表格插件,支持排序,筛选,导出等强大的功能,但它也有一些小的BUG,经常会让人晕头转向,比如导出到EXCLE表格时,遇到长数字格式的值,如身份证,导出后显示的末几位都是0的科学计数法格式,这里需要对table-export.js进行局部修改
//找到这一块代码在下面增加一行代码即可 ForEachVisibleCell(this, 'td,th', rowIndex, $hrows.length + $rows.length, function (cell, row, col) { if (cell !== null) { var tdstyle = ''; var tdcss = $(cell).data("tableexport-msonumberformat"); if (typeof tdcss == 'undefined' && typeof defaults.onMsoNumberFormat === 'function') tdcss = defaults.onMsoNumberFormat(cell, row, col); else tdcss = '\\@';//增加这一行代码即可 if (typeof tdcss != 'undefined' && tdcss !== '') tdstyle = 'style="mso-number-format:\'' + tdcss + '\''; for (var cssStyle in defaults.excelstyles) { if (defaults.excelstyles.hasOwnProperty(cssStyle)) { tdcss = $(cell).css(defaults.excelstyles[cssStyle]); if (tdcss === '') tdcss = $row.css(defaults.excelstyles[cssStyle]); if (tdcss !== '' && tdcss != '0px none rgb(0, 0, 0)' && tdcss != 'rgba(0, 0, 0, 0)') { tdstyle += (tdstyle === '') ? 'style="' : ';'; tdstyle += defaults.excelstyles[cssStyle] + ':' + tdcss; } } } trData += '<td'; if (tdstyle !== '') trData += ' ' + tdstyle + '"'; if ($(cell).is("[colspan]")) trData += ' colspan="' + $(cell).attr('colspan') + '"'; if ($(cell).is("[rowspan]")) trData += ' rowspan="' + $(cell).attr('rowspan') + '"'; trData += '>' + parseString(cell, row, col).replace(/\n/g, '<br>') + '</td>'; } });
如果是table-export-min.js(如加密,请选解密),则找到如下:
n+="<td “;改为如下n+="<td style=mso-number-format:'\@'";
还有其他问题,欢迎留言交流