js导出Excel表格

2019-01-01 23:18:25来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

js导出Excel表格

  直接上代码:

  红色部分:如果表格数据中有“1/1”这样的值,会在导出的Excel中转化为日期“1月1日”,所以才加上了红色那两句。如果返回值中没有这样的格式,红色部分可以不写。

 1 //Excel下载
 2 function base64(content) {
 3     return window.btoa(unescape(encodeURIComponent(content)));
 4 }
 5 function exportOffice(dom, tableID, fName) {
 6     var type = 'excel';
 7     var table = document.getElementById(tableID);
 8     var excelContent = table.innerHTML;
 9     var ddd="<td style=\"mso-number-format:'\\@';\">";
10     var result=((excelContent).toString()).replace(/<td(.*?)>/g,ddd);
11     console.log(result);
12     var excelFile = "<html xmlns:v='urn:schemas-microsoft-com:vml' xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:" + type + "' xmlns='http://www.w3.org/TR/REC-html40'>";
13     excelFile += "<head>";
14     excelFile += "<meta http-equiv=Content-Type; content=text/html;charset=UTF-8>";
15     excelFile += "<!--[if gte mso 9]>";
16     excelFile += "<xml>";
17     excelFile += "<x:ExcelWorkbook>";
18     excelFile += "<x:ExcelWorksheets>";
19     excelFile += "<x:ExcelWorksheet>";
20     excelFile += "<x:Name>";
21     excelFile += "{worksheet}";
22     excelFile += "</x:Name>";
23     excelFile += "<x:WorksheetOptions>";
24     excelFile += "<x:DisplayGridlines/>";
25     excelFile += "</x:WorksheetOptions>";
26     excelFile += "</x:ExcelWorksheet>";
27     excelFile += "</x:ExcelWorksheets>";
28     excelFile += "</x:ExcelWorkbook>";
29     excelFile += "</xml>";
30     excelFile += "<![endif]-->";
31     excelFile += "</head>";
32     excelFile += "<body><table>";
33     excelFile += result;
34     excelFile += "</table></body>";
35     excelFile += "</html>";
36     var base64data = "base64," + base64(excelFile);
37     switch (type) {
38         case 'excel':
39             dom.href = 'data:application/vnd.ms-' + type + ';' + base64data;
40             ;//必须是a标签,否则无法下载改名
41             dom.download = fName;
42             break;
43     }
44 }

   引用:

  1、首先得是a标签

  2、this:指向a的点击。

  3、'grid-basic':表格的id名

  4、'PON口占用率统计报表':导出Excel后的表格名

<a onClick="exportOffice(this,'grid-basic','PON口占用率统计报表')">导出Excel</a>

 

  附上转换红色部分参考文献:https://www.cnblogs.com/zhangym118/p/6378469.html

  

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:2019/1.1/正则函数

下一篇:简单介绍实用的网页表格