「Node学习笔记」浅谈Node.js读写xlsx文件

前言

先给大家简单介绍一下,这是一个读写 xlsx 文件的功能,主要帮助我们打印或是读写一些数据。

应用场景:以消费订单为例,当客户需要导出网站的累计消费金额时,我们需要查看流水账,作为开发人员可以将数据在 node 的服务层进行对应的整理,再通过写成 Excel 的方式给到客户使用。


操作步骤

step1:加载模块

使用模块:

fs–主要用于写入文件;

node-xlsx主要用于转换 xlsx 数据和读取 xlsx 的文件数据;

const fs = require('fs')
const xlsx = require('node-xlsx');      // 读写xlsx的插件


step2:读取功能

读取功能相对简单,直接使用模块的 prase(路径)方法就能读取。

var list = xlsx.parse("./doc/hello.xlsx");
  返回结果,name:表名,data:二维数组--由于Excel以表格的形式表示,因此表格的数据都是通过二维数组进行接收。

[ { name: 'firstSheet', data: [ [Array], [Array] ] },
  { name: 'secondSheet', data: [ [Array], [Array] ] } ]


step3:写入功能

写入功能,对应的写入数据与上面读取功能的返回格式需要一致,以数组的形式,name:表名,data:二维数组–Excel每行每列的数据。


如下面的代码,生成一个 Excel 文件,分别两张表,表名分别是 firstSheet,secondSheet。

let xlsxObj = [
    {
        name: 'firstSheet',
        data: [
            [1, 2, 3],
            [4, 5, 6]
        ],
    },
    {
        name: 'secondSheet',
        data: [
            [7, 8, 9],
            [10, 1, 12]
        ],
    }
]

生成Excel文件,

fs.writeFileSync(路径,Buffer数据)

xlsx.build(xlsxObj)会将数组转换为 Buffer 数据

执行下面命令就会生成对应的Excel文件。

fs.writeFileSync('./doc/hello.xlsx',xlsx.build(xlsxObj),"binary");

以上就是通过 Node 对 Excel 表格进行的读取新建写入操作。


下期给大家分享更多实战中的点滴,如果大家对此感兴趣,欢迎各位关注、留言,大家的支持就是我的动力!

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章