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
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    触摸屏测试:Tslib
    Ubuntu:我不小心把/var/lock文件夹给删了
    驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统
    驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器
    驱动开发学习笔记.0.00 从拿到一块开发板开始
    利用联合体通过串口收发浮点数
    stm32 MDK5软件仿真之查看io口输出
    ListView 类
    INotifyPropertyChanged 接口
    ItemsControl 类绑定数据库
  • 原文地址:https://www.cnblogs.com/javalinux/p/15627653.html
Copyright © 2011-2022 走看看