zoukankan      html  css  js  c++  java
  • node模块之xlsx使用

    最近同事在用java读取xlsx文件遇到困难,说是什么表格他复杂之类的,java呢,我不懂,那么就想用我伟大的nodejs,结果还真有那么厉害的。好了,我就不嫌弃java了,这里当做小笔记,绝非复制粘贴。

    npm i xlsx -S
    

    读取数据

    let xlsx = require('xlsx');
    
    let workbook = xlsx.readFile('susu.xlsx'); //workbook就是xls文档对象
    
    let sheetNames = workbook.SheetNames; //获取表明
    
    let sheet = workbook.Sheets[sheetNames[0]]; //通过表明得到表对象
    
    var data =xlsx.utils.sheet_to_json(sheet); //通过工具将表对象的数据读出来并转成json
    

    写数据

    let xlsx = require('xlsx');
    let json = [ 
        {"大标题":null},
        {null:"大标题"},
        {null:"大标题"},
        {null:"大标题"},
        { Name: 'name_01', Age: 21, Address: 'address_01' },
        { Name: 'name_02', Age: 22, Address: 'address_02' },
        { Name: 'name_03', Age: 23, Address: 'address_03' },
        { Name: 'name_04', Age: 24, Address: 'address_04' },
        { Name: 'name_05', Age: 25, Address: 'address_05' }, ];
    
    let ss = xlsx.utils.json_to_sheet(json); //通过工具将json转表对象
    let keys = Object.keys(ss).sort(); //排序 [需要注意,必须从A1开始]
    
    let ref = keys[1]+':'+keys[keys.length - 1]; //这个是定义一个字符串 也就是表的范围[A1:C5] 
    
    let workbook = { //定义操作文档
        SheetNames:['nodejs-sheetname'], //定义表明
        Sheets:{
            'nodejs-sheetname':Object.assign({},ss,{'!ref':ref}) //表对象[注意表明]
        },
    }
    
    xlsx.writeFile(workbook,"./suzhenwei.xls"); //将数据写入文件
    
     

    作者:sujeking
    链接:https://www.jianshu.com/p/7d2e584cbcc1
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    python 基础2.5 循环中continue与breake用法
    python 基础 2.4 while 循环
    python 基础 2.3 for 循环
    python 基础 2.2 if流程控制(二)
    python 基础 2.1 if 流程控制(一)
    python 基础 1.6 python 帮助信息及数据类型间相互转换
    python 基础 1.5 python数据类型(四)--字典常用方法示例
    Tornado Web 框架
    LinkCode 第k个排列
    LeetCode 46. Permutations
  • 原文地址:https://www.cnblogs.com/javalinux/p/15627653.html
Copyright © 2011-2022 走看看