基于nodejs的excel表格合并工具

背景:

博主最近在搞基于NodeJs的爬虫抓取数据(后续会写一篇关于NodeJs爬虫的文章

(文章链接地址:https://blog.csdn.net/cmyh100/article/details/101312723)

为了让抓取数据更加稳定且不导致nodejs线程阻塞,所以进行了分段抓取

例如抓取1万条数据,分成了20个excel文件

但是几十个excel文件分别导入到数据库中,操作繁琐且麻烦,那么将多个excel文件合并后导入数据库自然是一个不错的方法(大家如果有其他好的方法可以在评论里聊一聊哈)

本想用wps去合成,结果发现它居然要登录且开会员!!博主又懒得去装新版的office(手动滑稽)

只好自己用NodeJs写一个了,很愉快的搞定了这个问题

案例:

基于nodejs的excel表格合并工具_第1张图片

(可耻的打码了)
这样数据字段相同的多个excel文件进行合并

代码:

// 读取文件中的内容
fs.readdir(_file, function(err, files) {
		if (err) {
			throw err
		}
		// files是一个数组
		files.forEach((item, index) => {
			try {
				console.log(`开始合并:${item}`)
				let excelData = xlsx.parse(`${_file}${item}`)
				if (excelData) {
					if (dataList[0].data.length > 0) {
						excelData[0].data.splice(0, 1)
					}
					dataList[0].data = dataList[0].data.concat(excelData[0].data)
				}
			} catch (e) {
				console.log(e)
			}
		})
		// 写入xlsx
		var buffer = xlsx.build(dataList)
		fs.writeFile(`${_output}resut.${new Date().getTime()}.xlsx`, buffer, function (err) {
			if (err) {
				throw err
			}
			console.log('\x1B[33m%s\x1b[0m', `完成合并:${_output}resut.${new Date().getTime()}.xlsx`)
		})
	})

详情请看GitHub

具体食用方法:

1. 把需要合并的文件放到excel文件夹里
2. 运行start.bat文件
3. 到result下拿到合并完成的excel

GitHub:

https://github.com/cmyh100/ExcelMergeTool

觉得有用处的话记得点赞和star一下哦~(。・ω・。)ノ♡

你可能感兴趣的:(优化与兼容)