vue中将html导出docx文件(前端导出docx)

1、在package.json中添加安装包,并运行 npm install安装

{
    "file-saver": "^2.0.5",
    "html-docx-js": "^0.3.1"
}

2、在vue文件中使用

// 引用部分
  import htmlDocx from 'html-docx-js/dist/html-docx';
  import saveAs from 'file-saver';

//...........

//  导出方法
      exportClick() {
      // this.createExportModul()返回字符串拼接的html
        this.createHtml = this.createExportModul()  
        const page = `<!DOCTYPE html><html><head><meta charset="UTF-8"></head><body> ${this.createHtml} </body></html>`;
        let converted = htmlDocx.asBlob(page);
        // 用 FielSaver.js里的保存方法 进行输出
        saveAs(converted, `${this.title}.docx`);
      }

优点:导出的文件中可以包含前端动态生成的一些图片,例如把echart图表中的信息需要在导出文件中显示,此时该导出功能必须由前端进行导出
缺点:生成文档的样式调整是由拼接字符串的行内样式起作用的

// 获取echarts图表中的png图片方法
const imgUrl = this.myChart.getDataURL('png') 
// 将获取到的base64格式的图片拼接至字符串信息中
html += `<div style="text-align: center;">
           <img class="chartImg" src="${imgUrl}" style="margin-left: 50%;transform: translate(-50%, 0);">
         </div>`

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值