ionic3使用jquery.wordexport.js实现导出word
使用jquery.wordexport.js可以实现导出word
项目需要,要在app上实现word文档导出。
查过资料使用jquery.wordexport.js可以实现导出word,jquery.wordexport.js依赖于jquery和
FileSaver,要将它们三个依次导入项目中。
下载jquery-3.2.1.min.js,FileSaver.js,jquery.wordexport.js三个js文件
涉及到ionic3项目引入第三方js文件,先将三个js文件放入Demo\src\assets\js文件夹中,然后在Demo\www路径下的index.html中引入,放在cordova.js的下面
<script src="assets/js/jquery-3.2.1.min.js"></script>
<script src="assets/js/FileSaver.js"></script>
<script src="assets/js/jquery.wordexport.js"></script>
在Demo\src\page路径新建文件夹services,在services文件夹中新建jquery.d.ts文件,内容为:
declare var $:any;
然后在使用的页面上增加///<reference path="../services/jquery.d.ts"/>
///<reference path="../services/jquery.d.ts"/>
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
以上是jquery的导入
jquery.wordexport.js的导入写在jQuery的下面
import '../../assets/js/jquery.wordexport.js';
导入成功之后就可以进行下一步:
新增div
<div id="WordDIV">
<h2 style="text-align: center; color: red;">
word文档导出测试
</h2>
</div>
之后直接在ts文件中触发事件
$("#WordDIV").wordExport();
到这里在电脑上就可以实现word文档的导出了,然而很不幸的这个这个功能在app中是运行不了的!
又是一波查资料、想办法
索性上天是眷顾我的,在jquery.wordexport.js中发现它在
saveAs(blob, fileName + ".doc");
之前生成了一个
var blob = new Blob([fileContent], {
type: "application/msword;charset=utf-8"
});
而我在之前实现pdf的导出功能时也有这个东西
this.pdfObj.getBuffer((buffer) => {
var blob = new Blob([buffer], { type: 'application/pdf' });
this.file.writeFile(this.file.externalDataDirectory, 'myletter.pdf', blob, { replace: true }).then(fileEntry => {
// Open the PDf with the correct OS tools
alert(fileEntry.nativeURL);
})
});
接下来就是尝试了,jquery.wordexport.js中的saveAs(blob, fileName + ".doc");去掉,增加
return blob;
ts中的触发事件改为
let blob = $("#showDIV").wordExport();
// Save the word to the data Directory of our App
this.file.writeFile(this.file.externalDataDirectory, 'myletter.doc', blob, { replace: true }).then(fileEntry => {
alert(fileEntry.nativeURL);
})
这一步直接去掉了FileSaver的使用,显然这个方法时没有问题的,成功导出了word文档。
jquery.wordexport.js参考了
https://www.cnblogs.com/kmonkeywyl/p/9896448.html
大家对于jquery.wordexport.js有疑问的话可以去看
更多推荐



所有评论(0)