導(dǎo)出為WORD:
- 獲取要導(dǎo)出的數(shù)據(jù);
- 將獲取到的數(shù)據(jù)渲染到一個(gè)容器中
<div id=domHtml></div,并設(shè)置樣式屬性:display:none;
- 獲取容器文檔內(nèi)容
let htmlContent = document.getElementById ('domHtml').innerHTML;
4.創(chuàng)建Blob對(duì)象:(放入blob對(duì)象中,轉(zhuǎn)換類型,創(chuàng)建下載鏈接并執(zhí)行)
let blob = new Blob([this.htmlContent ], {
type: 'application/msword'
//word文檔為msword,docx為vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8,pdf文檔為pdf,msexcel 為excel
});
let objectUrl = URL.createObjectURL(blob);
let link = document.createElement("a");
let fname = `文件名`; //下載文件的名字
link.href = objectUrl;
link.setAttribute("download", fname);
document.body.appendChild(link);
link.click();
PS:過程中遇到的問題:
- 導(dǎo)出后樣式不起作用:(必須使用行內(nèi)樣式,或者將樣式寫到<style></style>中一起以文檔流方式傳入blob 對(duì)象中,而且行內(nèi)樣式使用margin,padding樣式屬性也是不會(huì)起作用的,只能使用table布局);
- 導(dǎo)出后可能個(gè)別字會(huì)被加粗:(需要在樣式屬性中設(shè)定統(tǒng)一的字體
font-family屬性)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。