导出excel
< script>
function base64 ( content) {
return window. btoa ( unescape ( encodeURIComponent ( content) ) ) ;
}
function exportExcel ( ) {
var table = $ ( "#所需要导出的元素id" ) ;
var excelContent = table[ 0 ] . innerHTML;
var excelFile = "<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'>" ;
excelFile += "<head><!--[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>" ;
excelFile += "<body><table>" ;
excelFile += excelContent;
excelFile += "</table></body>" ;
excelFile += "</html>" ;
var link = "data:application/vnd.ms-excel;base64," + base64 ( excelFile) ;
var a = document. createElement ( "a" ) ;
a. download = "报价明细.xlsx" ;
a. href = link;
a. click ( ) ;
}
</ script>
< div style =" margin : 10px 0; float : right; " > < input class = " btn btn-primary" type = ' button' onclick = " exportExcel()" value = " 导出分析结果" /> </ div>
jsp 中使用 button 按钮点击导出总会刷新页面,这是从其他页面传过来的值可能就消失了,所以,按钮推荐使用 input type=“button”. 使用 jQuery 获取到元素,在用 innerHTML 必须以 table[0].innerHTML(table为 jQuery 选取的元素),使用 js 原生的获取元素的方法就不需要加 “[0]”, 直接 table.innerHTML (table 为原生 js 选取的原色)