// ==UserScript==
// @name saveTableToXls
// @author major
// @version 1.0.3
// @require https://unpkg.com/xlsx@0.15.1/dist/xlsx.full.min.js
// ==/UserScript==
// 保存方式1
function saveTableToXls(tableHTML){
function base64 (content) {
return window.btoa(unescape(encodeURIComponent(content)));
};
var type = 'excel';
var excelContent = tableHTML;
var excelFile = "";
excelFile += "
";
excelFile += "";
excelFile += "";
excelFile += "";
excelFile += "";
excelFile += excelContent;
excelFile += "
";
excelFile += "";
excelFile += "";
var base64data = "base64," + base64(excelFile);
switch(type){
case 'excel':
window.open('data:application/vnd.ms-'+type+';'+base64data);
break;
case 'powerpoint':
window.open('data:application/vnd.ms-'+type+';'+base64data);
break;
}
};
// 保存方式2
function saveTableToXls_2(tableHTML){
//window.location.href='<%=basePath%>pmb/excelShowInfo.do';
//获取表格
// var exportFileContent = document.getElementById("table_report").outerHTML;
// var exportFileContent = document.querySelector(".auxo-table-content table").outerHTML;
var exportFileContent = tableHTML;
//设置格式为Excel,表格内容通过btoa转化为base64,此方法只在文件较小时使用(小于1M)
//exportFileContent=window.btoa(unescape(encodeURIComponent(exportFileContent)));
//var link = "data:"+MIMEType+";base64," + exportFileContent;
//使用Blob
var blob = new Blob([exportFileContent], {type: "text/plain;charset=utf-8"}); //解决中文乱码问题
blob = new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});
//设置链接
var link = window.URL.createObjectURL(blob);
var a = document.createElement("a"); //创建a标签
a.download = "当前页面库存导出.xls"; //设置被下载的超链接目标(文件名)
a.href = link; //设置a标签的链接
document.body.appendChild(a); //a标签添加到页面
a.click(); //设置a标签触发单击事件
document.body.removeChild(a); //移除a标签
};