node读写xlsx文件

时间:2019-09-23
本文章向大家介绍node读写xlsx文件,主要包括node读写xlsx文件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

  开头先简单介绍,这是一个读写Excel,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表格进行的读取新建写入操作。

原文地址:https://www.cnblogs.com/tyusBlog/p/11572535.html