美文网首页技术初心
BOOTSTRAP-TABLE导出长数字格式自动变成科学计数法解

BOOTSTRAP-TABLE导出长数字格式自动变成科学计数法解

作者: 洃烬後偅泩 | 来源:发表于2019-04-15 12:02 被阅读121次

    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:'\@'";

    还有其他问题,欢迎留言交流

    相关文章

      网友评论

        本文标题:BOOTSTRAP-TABLE导出长数字格式自动变成科学计数法解

        本文链接:https://www.haomeiwen.com/subject/eawywqtx.html