使用docxtemplater模板语法,导出多个word文件,并生成zip压缩包

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

前言:

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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值