zoukankan      html  css  js  c++  java
  • 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表格进行的读取新建写入操作。

  • 相关阅读:
    volatile关键字,使一个变量在多个线程间可见。
    grep sed awk
    mysql高级聚合
    Hive高级聚合GROUPING SETS,ROLLUP以及CUBE
    用SecureCRT来上传和下载文件
    mysql导出导入数据
    redis入门
    spark 常用技巧总结2
    生成数据库字典
    spark 常用技巧总结
  • 原文地址:https://www.cnblogs.com/tyusBlog/p/11572535.html
Copyright © 2011-2022 走看看