前端表格导出 再次修复、
长数字导出后 会在execl里面自动转成成数组 会出现1E+31 类似的现象 长数字字符串会导致四舍五入
一共找到2中比较好的方法, 由于第一个导出方法 所见即所得,宽度也比较好控制,所以大部分都是第一个 大数据量的时候 才会用第二个插件
在表格中 添加 则可以解决 则表格会认为是字符串
借用别人的代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="css/bootstrap.css"> </head> <body> <table id="tableExcel" width="100%" class="table table-hover" > <tr> <td colspan="5" align="center">html 表格导出道Excel</td> </tr> <tr> <td>列标题1</td> <td>列标题2</td> <td>类标题3</td> <td>列标题4</td> <td>列标题5</td> </tr> <tr> <td>aaa</td> <td>bbb</td> <td>ccc</td> <td>ddd</td> <td>eee</td> </tr> <tr> <td>AAA</td> <td>BBB</td> <td>CCC</td> <td>DDD</td> <td>EEE</td> </tr> <tr> <td>FFF</td> <td>GGG</td> <td>HHH</td> <td>III</td> <td>JJJ</td> </tr> </table> <a id="dlink" style="display:none;"></a> <input type="text" name="" value="请输入文件名" class="center-block form-control" style="margin-bottom: 20px; text-align: center" id="submit" onclick="submt()"> <input type="button" class="btn btn-primary center-block" onclick="tableToExcel('tablename', 'name', 'zhangsan.xls')" value="Export to Excel"> </body> <script> var nnn = ""; function submt(){ document.getElementById('submit').value=""; } var tableToExcel = (function () { var uri = 'data:application/vnd.ms-excel;base64,' , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>' , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) } , format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) } return function (table, name) { if (!table.nodeType) table = document.getElementById("tableExcel") var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML } document.getElementById("dlink").href = uri + base64(format(template, ctx)); document.getElementById("dlink").download = document.getElementById('submit').value+'.xls'; document.getElementById("dlink").click(); } })() </script> </html>
以上的这个xml的导出方法 有字符串的长度限制 在列多的时候 400~500条就挂了
于是 有找到另一个能处理比较大数据的导出插件 js-export-excel github找到对应的链接