大家好,我是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
const xlsx =require('node-xlsx');
// 解析excel文件
const workSheetsFromFile=xlsx.parse('./excelFile/excel读取模板.xlsx');
console.log('workSheetsFromFile',workSheetsFromFile)
二维数组遍历
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
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成功!')
})