文章目录
- ⭐前言
- ⭐安装依赖
- ⭐读取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_生成目录
⭐安装依赖
node-xlsx是一个用于在Node.js环境中读写Excel文件的模块。它提供了读取和写入Excel文件的API,支持多种格式,包括xls、xlsx、csv等。使用node-xlsx模块可以方便地处理Excel文件,实现数据的导入和导出,特别适用于数据挖掘、数据分析和报表生成等场景。
安装node-xlsx
$ npm install node-xlsx
⭐读取excel
excel模板
准备excel的表格数据分为4列分别式name、age、sex、location
读取excelFile/excel读取模板.xlsx的文件,打印读取的实例
const xlsx =require('node-xlsx');
// 解析excel文件
const workSheetsFromFile=xlsx.parse('./excelFile/excel读取模板.xlsx');console.log('workSheetsFromFile',workSheetsFromFile)
运行结果如下:
结论:
读取excel内容返回的对象数组
- name 工作表名称
- data 工作表内容
💖 按行读取
二维数组遍历excel的内容
代码如下:
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)})}
})
运行结果如下:
💖 按列读取
固定列读取行数据
- 记录行下标
- 固定列按行下标和列下标读取数据
代码如下:
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
构造工作表数据,写入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成功!')
})
运行结果如下:
写入的excel如下:
结论:node-xlsx处理excel的二维数据数据,下标均从0开始。
⭐结束
💖node读写excel分享结束,感谢你的阅读💖
如有不足获取错误欢迎指出!