解决jQuery.table2excel.js导出兼容IE问题

解决jQuery.table2excel.js导出兼容IE问题
 之前在网上一直没找到解决办法,或者并无相关参考。所以自己进插件源码边调试边修改,终于功夫不负有心人。
在table2Excel.js里面有这个一段判断是IE浏览器的代码
if (typeof msie !== "undefined" && msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))  // If Internet Explorer
一般在else里面的就是Google浏览器什么的了。
 当然,在这段代码之前是一系列的设置表头xlm标签和取值一类的事情,但是在关键导出的地方识别浏览器,根据不同的浏览器来做不一样的一系列操作,相关数据的封装。
 当用IE的时候,自然要用到Blob然后是window.navigator.msSaveBlob这个函数,因为在调试的时候发现IE里面不认占位符的
方式来替代table值,所以导出的Excel文件总是一个{table0}这就是一个占位符,这时我们就需要去前面相关的位置获取table值,
然后在 var blob = new Blob(full, { type: "text/html" });这段代码之前把full里面的{table0}这个占位符替换成前面取到的值,
(说明一下:这个值就是导出的数据,就是一个table)然后在封装成一个Array传入var blob = new Blob(full, { type: "text/html" });
(这个full就是一个Array)这样就解决了IE兼容性问题。可以试试
解决jQuery.table2excel.js导出兼容IE问题
解决jQuery.table2excel.js导出兼容IE问题
这个就是取值的地方,需要根据自己的里面的代码情况来。
希望能帮到你们!