vue 导出页面内容为word文件

vue 导出页面内容为word文件

  1. 先创建一个exportToWord.js的js文件
javascript 复制代码
// 导出Word
export const exportToWord = (id, name) => {
  // 获取选中区域Html
  const dom = document.getElementById(id);
  const content = dom.innerHTML;
  const convertedContent = convertToWordDocument(content);

  // Html类型数据 转换为 文件类型数据
  const blob = new Blob([convertedContent], { type: "application/msword" });

  // 下载Word文档
  const link = document.createElement("a");
  link.href = URL.createObjectURL(blob);
  link.download = name + ".doc" || "exported.doc";
  link.click();
};

//完善Html格式
const convertToWordDocument = (content) => {
  const header = `<!DOCTYPE html><html><head><meta charset='utf-8'><title>Exported Document</title></head><body>`;
  const footer = `</body></html>`;

  return `${header}${content}${footer}`;
};
  1. 在vue中使用
javascript 复制代码
<template>
  <div id="meet_demo" class="content-style">
   <div class="title">
      一、会议标题
    </div>
   <span slot="footer" class="dialog-footer">
     <el-button @click="downLoad('meet_demo', `纪要预览-${meetCurrentTime}`)"
       >下载</el-button
     >
   </span>
  </div>
 </template>
import { exportToWord } from "@/hooks/exportToWord";
 methods: {
   downLoad(id, name) {
	  exportToWord(id, name);
	},
 }
相关推荐
你挚爱的强哥2 小时前
✅✅✅【Vue.js】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本
javascript·vue.js·jquery
y先森2 小时前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy2 小时前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu10830189112 小时前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿3 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡4 小时前
commitlint校验git提交信息
前端
天天进步20155 小时前
Vue+Springboot用Websocket实现协同编辑
vue.js·spring boot·websocket
虾球xz5 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇5 小时前
HTML常用表格与标签
前端·html
疯狂的沙粒5 小时前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript