node笔记_读写excel

news2024/12/28 20:36:16

文章目录

    • ⭐前言
    • ⭐安装依赖
    • ⭐读取excel
      • 💖 按行读取
      • 💖 按列读取
    • ⭐写入excel
    • ⭐结束

⭐前言

大家好,我是yma16,本文分享关于node读取excel内容
往期文章
node_windows环境变量配置
node_npm发布包
linux_配置node
node_nvm安装配置
node笔记_http服务搭建(渲染html、json)
node笔记_读文件
node笔记_写文件
node笔记_连接mysql实现crud
node笔记_formidable实现前后端联调的文件上传
node笔记_koa框架介绍
node_koa路由
node_生成目录

⭐安装依赖

$ npm install node-xlsx

⭐读取excel

excel模板
excel-node
读取excel内容

  • name 工作表名称
  • data 工作表内容
const xlsx =require('node-xlsx');
// 解析excel文件
const workSheetsFromFile=xlsx.parse('./excelFile/excel读取模板.xlsx');

console.log('workSheetsFromFile',workSheetsFromFile)

运行结果如下:
read-node

💖 按行读取

二维数组遍历

const xlsx =require('node-xlsx');

const workSheetsFromFile=xlsx.parse('./excelFile/excel读取模板.xlsx');

console.log('workSheetsFromFile',workSheetsFromFile)

workSheetsFromFile.forEach((item,index)=>{
	console.log('工作表名称',item.name)
	console.log('工作表内容',item.data)
	if(index===0){
		// 第一个工作表按行读取
		item.data.forEach(itemData=>{
			console.log('itemData',itemData)
		})
	}
})

运行结果如下:
node-row-res

💖 按列读取

固定列读取行数据

  1. 记录行下标
  2. 固定列按行下标和列下标读取数据
const xlsx =require('node-xlsx');

const workSheetsFromFile=xlsx.parse('./excelFile/excel读取模板.xlsx');

console.log('workSheetsFromFile',workSheetsFromFile)

workSheetsFromFile.forEach((item,index)=>{
	console.log('工作表名称',item.name)
	console.log('工作表内容',item.data)
	if(index===0){
		// 记录行下标
		const rowIndexArray=[]
		// 按行读取
		item.data.forEach((itemData,itemDataIndex)=>{
			// 行号
			const rowIndex=itemDataIndex
			// 添加行下标
			rowIndexArray.push(itemDataIndex)
		})
		// 读取某一列的数据 读取第一列
		const columnIndex=0;
		rowIndexArray.forEach(rowIndex=>{
			console.log('读取第一列数据',item.data[rowIndex][columnIndex])
		})
	}
})

运行结果如下:
excel-column-read

⭐写入excel

构造工作表数据,写入excel

  • name 工作表名称
  • data 工作表内容
const xlsx =require('node-xlsx');
const fs=require('fs');

const data = [
  ['name', 'type', 'plantform'],
  ['yma16', 'front', 'csdn',]
];
const buffer = xlsx.build([{name: 'mySheetName', data: data}]); // Returns a buffer
console.log('buffer',buffer)

fs.writeFile('writeExcel.xlsx',buffer,function(err){
	if(err){
		console.log(err)
		throw err
	}
	console.log('写入excel成功!')
})

运行结果如下:
write-node-xlsx
写入的excel如下:
excel-content-write

⭐结束

💖node读写excel分享结束,感谢你的阅读💖
如有不足获取错误欢迎指出!
blue-sky-scene

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

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

相关文章

微服务开发系列 第十一篇:XXL-JOB

总概 A、技术栈 开发语言:Java 1.8数据库:MySQL、Redis、MongoDB、Elasticsearch微服务框架:Spring Cloud Alibaba微服务网关:Spring Cloud Gateway服务注册和配置中心:Nacos分布式事务:Seata链路追踪框架…

【AIGC】baichuan-7B大模型

百川智能|开源可商用的大规模预训练语言模型baichuan-7B大模型 概述 baichuan-7B 是由百川智能开发的一个开源可商用的大规模预训练语言模型。基于 Transformer 结构,在大约1.2万亿 tokens 上训练的70亿参数模型,支持中英双语,上…

day53_spring

今日内容 零、 复习昨日 零、 复习昨日 略 一、代理设计模式 代理的设计理念是限制对象的直接访问,即不能通过 new 的方式得到想要的对象,而是访问该对象的代理类。 这样的话,我们就保护了内部对象,如果有一天内部对象因为 某个原…

MIT 6.S081 (BOOK-RISCV-REV1)教材第三章内容

MIT 6.S081 教材第三章内容 引言页表分页硬件内核地址空间物理内存分配代码(物理内存分配)kinit函数kfree函数kalloc函数 代码:创建一个地址空间kvminit 函数kvmmap函数walk函数kvminithart函数procinit函数 进程地址空间代码:sbr…

Lua 脚本语法学习

文章目录 Lua 基础语法单行注释和多行注释数据类型标识符运算符关系运算符if条件循环whiledorepeatuntil数值for泛型for 函数1. 固定参数函数2. 可变参函数3. 多返回值4. 函数作参数5.匿名函数 Lua 语法进阶table1. 数组2. map3. 数组-map 混合结构4. table操作函数 迭代器模块…

Makerbase SimpleFOC ESP32 例程9 在线电流检测测试

Makerbase SimpleFOC ESP32 例程9 在线电流检测测试 第一部分 硬件介绍 1.1 硬件清单 序号品名数量1 ESP32 FOC V1.0 主板 12 YT2804电机 23 12V电源适配器 14 USB 线 1 注意:YT2804是改装的云台无刷电机,带有AS5600编码器,可实现360连续运转。 主要…

java:实现用户扫码二维码自动跳转指定链接功能

0. 引言 近来接到要实现链接转二维码的需求,通过提供二维码给用户,让用户扫描后自动访问指定的H5页面,从而实现业务流转,这样的功能其实在其他很多场景也会用到,比如资产管理系统中,扫码资产二维码&#x…

uniapp实现tab切换可以滚动的效果

实现效果 当 tab 切换的内容很多时,需要用到滚动,希望在点击 tab 的时候可以自动滑动到对应的tab下 知识点 scrollIntoView:该scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。 语法 element.scrollIntoView&#xff08…

2023 年企业 Java 面试前复习的正确姿势(已助力319人入职大厂)

作为 Java 程序员,选择学习什么样的技术?什么技术该不该学?去招聘网站上搜一搜、看看岗位要求就十分清楚了,自己具备的技术和能力,直接影响到你工作选择范围和能不能面试成功。 如果想进大厂,那就需要在 Ja…

ARM-Linux开发与MCU开发的不同之处分析

目录 一、ARM-Linux应用开发和单片机开发的不同 二、Arm-Linux基本开发环境 针对ARM-Linux程序的开发,主要分为三类:应用程序开发、驱动程序开发、系统内核开发。针对不同种类的软件开发,有其不同的特点。 今天,我们来看看ARM-L…

B-6:逆向分析及隐写

任务环境说明: 服务器场景: FTPServer20220509(关闭链接) FTP用户名:PE01密码: PE01 C语言:渗透机Windows7 (Embarcadero Dev-C++) 1,从靶机服务器的FTP上下载PE01文件,对PE01. exe二进制文件进行静态调试,将 main 函数的入口地址作为 Flag 值提交; 双击渗透机kali桌面上…

【数字图像处理】3.对比度增强

目录 3.1 灰度直方图 3.2 线性变换 3.3 直方图正规化 3.4 伽马变换 3.5 全局直方图均衡化 3.6 CLAHE 对比度增强是图像增强的一种,它主要解决的是图像的灰度级范围较小造成的对比度较低的问题,目的是将图像的灰度级增强到指定范围,使得…

Unity Metaverse(八)、RTC Engine 基于Agora声网SDK实现音视频通话

文章目录 简介创建应用构建应用场景API调用与回调事件测试 简介 本文介绍如何在Unity中接入声网SDK,它可以应用的场景有许多,例如直播、电商、游戏、社交等,音视频通话是其实时互动的基础能力。 如下图所示,可以在官网中选择Unit…

【Python实用基础整合(三)】儒略日计算、Pandas写Excel文件多Sheet以及datetime64[ns]时间格式处理

一、儒略日计算 儒略日(Julian Day)是在儒略周期内以连续的日数计算时间的计时法,主要用于天文学领域,SMOKE、CMAQ、CAMx等模型中也有使用。Linux中主要使用IOAPI库中的juldate和jul2greg来进行常规日期和儒略日的相互转化。Pyth…

MongoDB索引详解-03

MongoDB索引 索引是一种用来快速查询数据的数据结构。BTree 就是一种常用的数据库索引数据结构, MongoDB采用BTree 做索引 ,索引创建在colletions上。MongoDB不使用索引的查 询,先扫描所有的文档,再匹配符合条件的文档。 使用索…

docker注意事项和https

docker容器安全注意: 尽量别做的事: 尽量不用 --privileged 运行容器授权容器root用户拥有宿主机的root权限 尽量不在 容器中运行 ssh 服务 尽量不用 --network host 使用 host 网络模式运行容器 尽量要做的事: 尽量使用最小化的镜像 尽量…

四六级套路总结

四六级 四级六级作文背多分 四级 英语四级(必过12.10) 听力: 全出现 头尾出现 (直接选) 长篇: 勾 8分钟,边勾边默念 念 勾完五句念一遍,十句通读(时间够不要慌&#xff…

SpringSecurity从入门到精通

简介 ​ Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 ​ 一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多,因为相比…

Three.js--》实现3D汽车展厅效果展示

目录 项目搭建 初始化three.js基础代码 加载汽车模型 设置展厅效果 设置GUI面板动态控制车身操作 车门操作与车身视角展示 设置手动点击打开关闭车门 设置图片背景 今天简单实现一个three.js的小Demo,加强自己对three知识的掌握与学习,只有在项目…