node.js提取excel中的信息填充到word文件,批量生成合同

1.npm下载

npm i pizzip docxtemplater xlsx

2.excel模板

3.word模板

4.代码

// 引入所需模块
var PizZip = require('pizzip');
var Docxtemplater = require('docxtemplater');
var fs = require('fs');
var path = require('path');
var xl = require('xlsx');// 读取并导出Excel文件 ./en.xlsx
var workbook = xl.readFile("./en.xlsx")
const sheetNames = workbook.SheetNames; // 返回 ['sheet1', 'sheet2']// 根据表名获取对应某张表
const worksheet = workbook.Sheets[sheetNames[0]]; // 获取第一张表
var dataa = xl.utils.sheet_to_json(worksheet); // 将表转换为JSON对象数组
// console.log(dataa);// 处理数据,创建一个新数组,其中包含具有中文名、中文描述和英文描述的对象
let distdata = []
for (let i = 0; i < dataa.length; i++) {const element = dataa[i];let obj = {name: element.__EMPTY,// 获取中文名chinese: element.__EMPTY_1,// 获取中文描述english: element.__EMPTY_2 // 获取英文描述}distdata.push(obj)
}// console.log(distdata)
// 读取word文件,以二进制文件形式保存
var content = fs.readFileSync(path.resolve(__dirname, './a1.docx'), 'binary'); // 读取word文件
// 遍历处理后的数据,为每个对象生成一个word文件
for (let i = 0; i < distdata.length; i++) {// 创建一个新的PizZip对象var zip = new PizZip(content);var doc = new Docxtemplater(zip);// 获取当前遍历的对象let ele = distdata[i]// 设置填充数据doc.setData({name: ele.name,chinese: ele.chinese,english: ele.english});//渲染数据生成文档doc.render()// 将文档转换文nodejs能使用的bufvar buf = doc.getZip().generate({ type: 'nodebuffer' });// 导出文档名字/类型fs.writeFileSync(path.resolve(__dirname, `./word/${distdata[i].name}.docx`), buf);
}

5.运行结果 node ./app.js

6.全部内容 zip 包 看资源绑定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2813905.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Python数据处理(三)-txt文件指定数据提取并可视化作图

系列文章&#xff1a; 1&#xff0c;20G文件&#xff0c;分类&#xff0c;放入不同文件&#xff0c;每个单独处理 2&#xff0c;数据的归类并处理 3&#xff0c;txt文件指定数据提取并可视化作图&#xff08;本文&#xff09; 4&#xff0c;......... 一&#xff0c;数据格…

使用 kubeadm 部署k8s集群

一、所有节点系统初始化 1、常规初始化 2、内核版本升级以及内核限制文件参数修改 还可以考虑将旧版本的内核卸载 二、准备nginx负载均衡器和keepalived nginx四层代理&#xff1a; keepalived配置&#xff1a; nginx检测脚本&#xff1a; 三、所有节点部署docker&#xff0c…

Scala 的安装与使用

目录 1 安装 JDK 1.82 安装 Scala3 Scala 插件安装4 Hello Scala 案例 Windows环境安装 1 安装 JDK 1.8 可参见 Windows下安装JDK1.8详细步骤 2 安装 Scala 解压文件&#xff1a;scala-2.12.11.zip&#xff08;解压目录要求无中文无空格&#xff09; 配置环境变量 环境测试 如…

STM32 +合宙1.54“ 电子墨水屏(e-paper)驱动显示示例

STM32 合宙1.54“ 电子墨水屏&#xff08;e-paper&#xff09;驱动显示示例 &#x1f4cd;相关篇《Arduino框架下ESP32/ESP8266合宙1.54“ 电子墨水屏&#xff08;e-paper&#xff09;驱动显示示例》&#x1f516;程序是从GooDisplay品牌下同型号规格墨水屏的示例程序参考Ardui…

2024牛客寒假算法基础集训营1(补题)

文章目录 ABCDEFGHIJKL A n的范围很小暴力直接 O ( n 3 ) O(n^3) O(n3)直接做就行。 我还傻的统计了一下前后缀&#xff0c;不过怎么写都行这道题。 #include <bits/stdc.h> #define int long long #define rep(i,a,b) for(int i (a); i < (b); i) #define fep(i,…

[WebUI Forge]ForgeUI的安装与使用 | 相比较于Auto1111 webui 6G显存速度提升60-75%

ForgeUI的github主页地址:https://github.com/lllyasviel/stable-diffusion-webui-forge Stable Diffusion WebUI Forge 是一个基于Stable Diffusion WebUI(基于Gradio)的平台,可简化开发、优化资源管理并加快推理速度。 “Forge”这个名字的灵感来自于“Minecraft Forge”…

拼多多上货API:自动化上架商品批量获取商品详情信息

随着电子商务的蓬勃发展&#xff0c;淘宝作为中国最大的在线购物平台之一&#xff0c;每天需要处理海量的商品上架和交易。为了提高工作效率&#xff0c;自动化上架商品和批量获取商品详情信息成为了许多商家和开发者的迫切需求。本文将详细介绍淘宝的API接口及其相关技术&…

GIS之深度学习02:Anaconda2019版本安装(py38)

Anaconda是一个专注于数据科学和机器学习的开源发行版&#xff0c;内置了丰富的工具和库&#xff0c;包括Python解释器、NumPy、SciPy、Pandas、Scikit-learn、TensorFlow等&#xff0c;使用户能够轻松进行科学计算和数据分析。其强大的包管理器conda简化了软件包的安装和环境管…

UI自动化测试:playwright工具(一):python环境下安装、UI录制使用(需要些代码能力)

一、python环境下安装playwright工具 1. 安装playwright库 pip install playwright -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com#至于镜像源,可以选,也可不选:#阿里云 http://mirrors.aliyun.com/pypi/simple/ #中国科技大学 https://py…

「优选算法刷题」:矩阵区域和

一、题目 给你一个 m x n 的矩阵 mat 和一个整数 k &#xff0c;请你返回一个矩阵 answer &#xff0c;其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和&#xff1a; i - k < r < i k, j - k < c < j k 且(r, c) 在矩阵内。 示例 1&#xff1…

UE4c++ ConvertActorsToStaticMesh

UE4c ConvertActorsToStaticMesh ConvertActorsToStaticMesh UE4c ConvertActorsToStaticMesh创建Edior模块&#xff08;最好是放Editor模块毕竟是编辑器代码&#xff09;创建UBlueprintFunctionLibraryUTestFunctionLibrary.hUTestFunctionLibrary.cpp:.Build.cs 目标:为了大量…

React回顾

一、基础 1、使用babel解析 2、不直接使用jsx&#xff0c;jsx写起来很繁琐 3、jsx语法规则 4、函数式组件的使用 5、函数式组件渲染 6、类组件渲染 7、类组件中事件调用this指向问题 8、类组件不能直接改变状态 9、props接收数据类型限制 类型限制放到类组件内部&#xff0c;用…

045-WEB攻防-PHP应用SQL二次注入堆叠执行DNS带外功能点黑白盒条件

045-WEB攻防-PHP应用&SQL二次注入&堆叠执行&DNS带外&功能点&黑白盒条件 #知识点&#xff1a; 1、PHP-MYSQL-SQL注入-二次注入&利用条件 2、PHP-MYSQL-SQL注入-堆叠注入&利用条件 3、PHP-MYSQL-SQL注入-带外注入&利用条件 演示案例&#xff1a…

区块链智能合约开发

一.区块链的回顾 1.区块链 区块链实质上是一个去中心化、分布式的可进行交易的数据库或账本 特征: 去中心化&#xff1a;简单来说&#xff0c;在网络上一个或多个服务器瘫痪的情况下&#xff0c;应用或服务仍然能够持续地运行&#xff0c;这就是去中心化。服务和应用部署在…

一款开源.NET WPF界面库介绍

一款开源.NET WPF界面库介绍 这是一个WPF版的Layui前端UI样式库&#xff0c;该控件库参考了Web版本的LayUI风格&#xff0c;利用该控件库可以完成现代化UI客户端程序&#xff0c;让你的客户端看起来更加简洁丰富又不失美感 如何使用 步骤一 : 添加LayUI.Wpf Nuget包; Inst…

物业智能水电抄表管理系统

物业智能水电抄表管理系统是物业管理行业的关键技术之一&#xff0c;其结合了智能化、远程监控和数据分析等功能&#xff0c;为物业管理公司和业主提供了高效、精准的水电抄表管理解决方案。该系统具有多项优势&#xff0c;能够提升物业管理效率&#xff0c;降低成本&#xff0…

苍穹外卖-day12 - 工作台 - Apache POI - 导出运营数据Excel报表

课程内容 工作台 Apache POI 导出运营数据Excel报表 功能实现&#xff1a;工作台、数据导出 工作台效果图&#xff1a; 数据导出效果图&#xff1a; 在数据统计页面点击数据导出&#xff1a;生成Excel报表 1. 工作台 1.1 需求分析和设计 1.1.1 产品原型 工作台是系统运营…

当Web3叙事寒冬到来,游戏是否是冬日里的“一把火”?

出品&#xff5c;欧科云链研究院 作者&#xff5c;Jason Jiang 以太坊创始人Vitalik在2019年曾说&#xff1a;金融与游戏会是区块链最先落地的场景。 在DeFi金融创新驱动上个周期后&#xff0c;沉寂近两年的Web3游戏板块&#xff0c;如今似乎也在复苏。无论是频繁获得融资&a…

【推荐算法系列五】DeepFM 模型

文章目录 参考资料Sparse FeaturesDense EmbeddingsFM LayerHidden LayerOutput Units 优缺点DeepFM 的优点DeepFM 自身的缺点。 参考资料 DeepFM 中关于 整个发展过程&#xff0c; FM, PNN, wide&deep 的描述很给力。 所以FM在其中的含义就是low-order, deep 就是所谓的 …

IT廉连看——Uniapp——页面样式与布局

IT廉连看——Uniapp——页面样式与布局 目标&#xff1a; 了解样式与布局的规范 熟记px和rpx的区别 全局样式与index样式的区别 一、查看uniapp框架简介——尺寸单位 px尺寸单位的使用是贯穿始终的。 [IT廉连看] 二、尺寸单位——实操效果 1、打开Hbuilder X并进入in…