纯js实现html指定页面导出word

因为最近做了范文网站需要,所以要下载为word文档,如果php进行处理,很吃后台服务器,所以想用前端进行实现。查询github发现,确实有这方面的插件。

js导出word文档所需要的两个插件:

复制代码
FileSaver.js
jquery.wordexport.js

首先引入:

复制代码
<!--生成word!-->
<script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.js"></script>
<script src="http://www.nongpin88.com/skin/default/js/FileSaver.js"></script>
<script src="http://www.nongpin88.com/skin/default/js/jquery.wordexport.js"></script>

html导出按钮:

复制代码
<input type="button" value="导出word"  onclick="doWord()" style="background-color:#275ecf;color:#FFFFFF;width:70px;height:20px;border-radius: 5px;">

js过滤处理部分:

复制代码
<script>
function doWord(){
document.getElementsByClassName('article-mp_msg')[0].style.display="none";
document.getElementsByClassName('article-msg')[0].style.padding="20px";
document.getElementsByClassName('article-title')[0].style.textAlign ="center";
document.getElementsByClassName('article-detail_inner')[0].style.margin ="auto";
    bdhtml=window.document.body.innerHTML; 
    sprnstr="<!--startprint-->";  
    eprnstr="<!--endprint-->";  
    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);  
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));  
    var re1 = /<img.*?(?:>|\/>)/gi;//匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容
prnhtml = prnhtml.replace(re1,'');//执行替换成空字符
    var re2 = /<([a-z]+?)(?:\s+?[^>]*?)?>\s*?<\/\1>/ig;
    prnhtml = prnhtml.replace(re2,'');//执行替换成空字符
    window.document.body.innerHTML=prnhtml; 
    $(".article-detail_inner").wordExport('文章的标题');
   
}
</script>

这样就搞定了,看看效果吧!

演示效果:学校班主任安全工作计划模板_醉学网 (nongpin88.com)http://www.nongpin88.com/fanwen/2713580.html

相关推荐
页面魔术3 分钟前
无虚拟dom怎么又流行起来了?
前端·javascript·vue.js
汪子熙19 分钟前
浏览器里出现 .angular/cache/19.2.6/abap_test/vite/deps 路径究竟说明了什么
前端·javascript·面试
林太白25 分钟前
Nuxt3 功能篇
前端·javascript·后端
YuJie26 分钟前
webSocket Manager
前端·javascript
wycode1 小时前
Promise(一)极简版demo
前端·javascript
浮幻云月1 小时前
一个自开自用的Ai提效VsCode插件
前端·javascript
不在了情绪1 小时前
HTML 简明教程
html
代码改变世界100861 小时前
像素风球球大作战 HTML 游戏
前端·游戏·html
艾小码1 小时前
Vue 3全面解析:Composition API、响应式原理与生态
前端·javascript·vue.js
Process1 小时前
面试官:Vue和React源码里用到了哪些设计模式?
前端·javascript·面试