JS导出Excel(使用Blob),兼容IE,且保留样式

JS实现html导出Excel,兼容IE浏览器 

 

 

方法一:$("#tableID").first().tableToExcel();

------------------------------------------------------------------------------------------------------------------------------

方法二: 


     var tableHtml='';
	 tableHtml += lHtml;
	 tableHtml += '';
	 var excelBlob = new Blob([tableHtml], {type: 'application/vnd.ms-excel'});
	 var fileName = "变电设备"+dialogname+".xls";
	 if(isIE()){
		window.navigator.msSaveOrOpenBlob(excelBlob,fileName);
	 }else{
		var oa = document.createElement('a');
		oa.href = URL.createObjectURL(excelBlob);
		oa.download = fileName;
		document.body.appendChild(oa);
		oa.click();
	 }

    //判断是否IE浏览器
    function isIE() {
		if (!!window.ActiveXObject || "ActiveXObject" in window) {
			return true;
		} else {
			return false;
		}
	} 

其中lHtml是 table的html代码,如:

var lHtml = "

设备XXXXX报告
"

 

简单来说,IE浏览器用window.navigator.msSaveOrOpenBlob(excelBlob,fileName);

非IE用a标签


以下是个jsp例子,jsp效果图:

JS导出Excel(使用Blob),兼容IE,且保留样式_第1张图片

导出的Excel效果图:

JS导出Excel(使用Blob),兼容IE,且保留样式_第2张图片

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="/tags/mx-framework" prefix="mx" %>




  
  html 表格导出道
  


html 表格导出道Excel
列标题1 列标题2 类标题3 列标题4 列标题5
aaa bbb ccc ddd eee
AAA BBB CCC DDD EEE
FFF GGG HHH III JJJ

 

你可能感兴趣的:(jsp,js,Java)