前言:
1、前端使用的是vue、element-ui 框架
2、el-table 多选列表,批量勾选数据后,需要每一条数据生成一个word文件,最终导出一个zip压缩包
一、插件准备:
npm install --save docxtemplater pizzip jszip-utils jszip file-saver
如果想使用高级语法,可引入以下两个插件, 可解析更多表达式:
npm install --save angular-expressions lodash
二、创建一个 download-zip.ts 文件,内容为:
import docxtemplater from 'docxtemplater';
import PizZip from 'pizzip';
import JSZipUtils from 'jszip-utils'
import {
saveAs } from 'file-saver';
import JSZip from 'jszip';
// 引入angular-expression 解析器
let expressions = require("angular-expressions");
let assign = require("lodash/assign");
expressions.filters.lower = function (input: any) {
if (!input) return input;
return input.toLowerCase();
};
function angularParser(tag: any) {
tag = tag
.replace(/^\.$/, "this")
.replace(/(’|‘)/g, "'")
.replace(/(“|”)/g, '"');
const expr = expressions.compile(tag);
return {
get: function (scope: any, context: any) {
let obj = {
};
const scopeList

本文介绍如何在Vue.js项目中利用docxtemplater插件,根据el-table多选数据生成多个Word文件,并将这些文件整合到一个ZIP压缩包中。详细讲解了插件准备、download-zip.ts的创建、页面使用方法、word模板设计以及基本语法,包括对象赋值、数组循环和条件判断等。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



