HTML Table导出EXCEL(支持大量数据,保留报表格式)

最近项目上需要制作一张大数据量的报表,用润乾报表展示会非常慢,所以打算自己写html实现,网上大部分示例是保留格式但是有1.5M的大小限制,还有一种是导出大量数据但是不保留格式的,所以在这里将两个结合一下,记录下来

  1. 首先是要导入相应的js,jQuery.js和在网上找到的FileSaver.js(原网址:https://github.com/eligrey/FileSaver.js/tree/master/dist )
  2. 然后实现tableToExcel函数(如下),saveAs()函数执行后将会直接下载excel文件,temple是你要导出的excel样式的css字符串:
var template =
    ' ';

HTML Table导出EXCEL(支持大量数据,保留报表格式)_第1张图片

function tableToExcel(tableid, sheetName, template, fileName) {
    if (!tableid.nodeType) tableid = document.getElementById(tableid);
    var html = "\n" +
        "    \n" +
        "        \n" + template +
        "    " +
        "" + tableid.outerHTML +
        "";
    var blob = new Blob([html], {type: "text/plain;charset=utf-8"});
    saveAs(blob, fileName);
}
  1. 调用
tableToExcel('table_dv', 'DVData', template, 'DV_DATA.xlsx');

你可能感兴趣的:(笔记)