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表格进行的读取新建写入操作。

  • 相关阅读:
    Python随笔之字典Dict
    Python随笔之列表List
    Python基础整理,懒得分类了,大家对付看看吧
    shell批量推送公钥脚本
    Xcode 切换target 之后打包失败
    百度导航sdk错误日志
    前端项目中去掉替换双引号
    taro3.x项目中引用taro-ui以及taro-iconfont-cli
    taro
    JS中some() every() forEach() map() filter()的区别
  • 原文地址:https://www.cnblogs.com/tyusBlog/p/11572535.html
Copyright © 2011-2022 走看看