小工具知识网

当前位置: 首页 > 行业知识 > vue前端实现导出页面为word(两种方法)

行业知识

vue前端实现导出页面为word(两种方法)

2026-11-01 15:26:14 来源:互联网转载

将vue页面导出为word文档,不用写模板,直接导出即可。

第一种方法(简单版)

第一步:安装所需依赖

npm install html-docx-js -Snpm install file-saver -S

第二步:创建容器,页面使用方法

注意:在当前页面引入依赖

import FileSaver from "file-saver"; import htmlDocx from "html-docx-js/dist/html-docx";**

第二种方法(需要使用jquery)

第一步:安装所需依赖

npm install jquery --savenpm install file-saver

第二步:创建两个js文件,一个是jquery文件(jq.js),一个是插件js的文件(jquery.wordexport.js),我把这两个js文件都放到utils文件夹下,注意:使用的时候一定要注意引用路径。这两个js文件代码我都放到文章最后(有一个插件没有依赖包,所以需要自己创建一个js文件(jquery.wordexport.js))

第三步:在需要导出的页面引入文件

import $ from "@/utils/jq"; // 文件引入路径一定要正确,这是第二步创建的js文件(jq.js)import saveAs from "file-saver/dist/FileSaver";import "@/utils/jquery.wordexport"; // 文件引入路径一定要正确,这是第二步创建的js文件(jquery.wordexport.js)

第三步:页面使用方法

注意:如果导出的时候出现bug,大多是因为index.php/tags-522.html" >文件路径引入有问题,再次排查路径引入

jq.js

import $ from "jquery";  window.$ = $;  window.jQuery = $;export default $;

jquery.wordexport.js

if (typeof jQuery !== "undefined" && typeof saveAs !== "undefined") {  (function ($) {      $.fn.wordExport = function (fileName) {          fileName = typeof fileName !== 'undefined' ? fileName : "jQuery-Word-Export";          var static = {              mhtml: {                  top:                    "Mime-Version: 1.0\nContent-Base: " +                    location.href +                    '\nContent-Type: Multipart/related; boundary="NEXT.ITEM-BOUNDARY";type="text/html"\n\n--NEXT.ITEM-BOUNDARY\nContent-Type: text/html; charset="utf-8"\nContent-Location: ' +                    location.href +                    "\n\n\n" +                    '\n_html_',                  head:                    '\n\n\n_styles_\n\n\n',                  body: "_body_",              },          };          var options = {              maxWidth: 624,//最大宽度          };          // Clone selected element before manipulating it          var markup = $(this).clone();          // Remove hidden elements from the output          markup.each(function () {              var self = $(this);              if (self.is(':hidden'))                  self.remove();          });          // Embed all images using Data URLs          var images = Array();          var img = markup.find('img');          // var img = new Image(); 用这一行的话,WPS不显示图片,用上面的——只兼容office Word。          var mhtmlBottom = "\n";          for (var i = 0; i                                                 

上一篇:构筑未来商业智能——数据中台的战略视角

下一篇:企业域名怎么认证吗?