1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > js将excel转为html js中表格转为excel文件如何实现多sheet形式

js将excel转为html js中表格转为excel文件如何实现多sheet形式

时间:2020-12-31 11:02:12

相关推荐

js将excel转为html js中表格转为excel文件如何实现多sheet形式

js中表格转为excel文件如何实现多sheet形式

var idTmr;

function getExplorer() {

var explorer = window.navigator.userAgent ;

//ie

if (explorer.indexOf("MSIE") >= 0) {

return 'ie';

}

//firefox

else if (explorer.indexOf("Firefox") >= 0) {

return 'Firefox';

}

//Chrome

else if(explorer.indexOf("Chrome") >= 0){

return 'Chrome';

}

//Opera

else if(explorer.indexOf("Opera") >= 0){

return 'Opera';

}

//Safari

else if(explorer.indexOf("Safari") >= 0){

return 'Safari';

}

}

function toExcel(tableid) {

if(getExplorer()=='ie')

{

var curTbl = document.getElementById(tableid);

var oXL = new ActiveXObject("Excel.Application");

var oWB = oXL.Workbooks.Add();

var xlsheet = oWB.Worksheets(1);

var sel = document.body.createTextRange();

sel.moveToElementText(curTbl);

sel.select();

sel.execCommand("Copy");

xlsheet.Paste();

oXL.Visible = true;

try {

var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls");

} catch (e) {

print("Nested catch caught " + e);

} finally {

oWB.SaveAs(fname);

oWB.Close(savechanges = false);

oXL.Quit();

oXL = null;

idTmr = window.setInterval("Cleanup();", 1);

}

}

else

{

tableToExcel(tableid,'测试','项目收付明细表.xls')

}

}

function Cleanup() {

window.clearInterval(idTmr);

CollectGarbage();

}

var tableToExcel = (function () {

var uri = 'data:application/vnd.ms-excel;base64,'

, template = '

' +

'

' #table thead{width:100%;z-index:5;}\n' +

' #table td{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;table-layout: fixed;padding-right: 0;}\n' +

' #table .project_title{background-color: #88e1ff;font-weight: bold;}\n' +

' #table .batch_title {font-weight: bold}\n' +

' #table .not_end{color: red;}\n' +

' #table tbody tr>td{text-align: left;padding-left: 5px;}'+

' .not_charge{color: blue}\n' +

' .charge{color: green}\n' +

' .pay_month{color: purple}\n' +

' '+

'

'

, base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) }

, format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) }

return function (table, name, filename) {

if (!table.nodeType) table = document.getElementById(table)

var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }

let blob = new Blob([format(template, ctx)]);

document.getElementById("dlink").href = URL.createObjectURL(blob);

document.getElementById("dlink").download = filename;

document.getElementById("dlink").click();

}

})()

请问该怎么写才能实现呢

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。