简介
xlsxstream 是一个基于 Node.js 的 Excel 文件处理工具,它可以帮助我们快速地将 Excel 文件读入到程序中,并进行处理。此包可以在前端和后端均可使用。
安装
你可以通过 npm 包管理器将 xlsxstream 安装到你的项目中:
npm install @pmilitowski/xlsxstream
使用
导入包
const xlsxstream = require('@pmilitowski/xlsxstream')
打开 Excel 文件
const stream = xlsxstream.fromFile('/path/to/excel.xlsx')
或者从一个可读流中创建 stream:
const stream = xlsxstream.fromStream(readStream)
定义表头
const schema = { name: 'A', age: 'B', hobby: 'C' }
这里我们将 name 定义为 A 列,age 定义为 B 列,hobby 则定义为 C 列。
处理行数据
我们可以使用流的
on('data')
方法来处理每一行的数据:stream.on('data', (data) => { console.log(data) })
输出结果如下:
{ name: '张三', age: 18, hobby: '游泳' } { name: '李四', age: 20, hobby: '看电影' } { name: '王五', age: 22, hobby: '唱歌' }
上面的输出结果是我们从
example.xlsx
中读出来的数据,每一行被解析成了一个 JSON 关键字对象。你可以根据自己的需要,在数据处理中对其进行进一步地处理。例如,我们可以将行数据存入一个数组中:
const rows = [] stream.on('data', (data) => { rows.push(data) }) console.log(rows)
输出结果如下:
[ { name: '张三', age: 18, hobby: '游泳' }, { name: '李四', age: 20, hobby: '看电影' }, { name: '王五', age: 22, hobby: '唱歌' } ]
我们也可以对行数据进行条件过滤:
stream.on('data', (data) => { if (data.age > 20) { console.log(data) } })
输出结果如下:
{ name: '王五', age: 22, hobby: '唱歌' }
关闭文件流
文件流在数据读取完成后要及时的被关闭以释放系统资源:
stream.on('end', () => { console.log('数据读取结束!') })
示例代码
完整代码如下:
-- -------------------- ---- ------- ----- ---------- - ---------------------------------- ----- ------ - ------------------------------------------ ----- ------ - - ----- ---- ---- ---- ------ --- - ----- ---- - -- ----------------- ------ -- - -- --------- - --- - --------------- - -- ---------------- -- -- - ----------------- --
总结
本文我们介绍了如何使用 xlsxstream 这个 npm 包来对 Excel 文件进行读取和处理。通过简单的示例代码,你可以快速地学习并应用该工具到你的项目中。希望这篇文章对你有益!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005726681e8991b448e8971