美文网首页
一个NodeJS生成excel表格的小demo

一个NodeJS生成excel表格的小demo

作者: 野兽仙贝 | 来源:发表于2018-12-17 17:40 被阅读0次
    Fuck产品经理

    环境准备

    已经2018年了,广大人民群众基本都用上es6了,所以这里也配一下es6的环境

    新建工程,创建一个package.json

    {
        "name": "projectName",
        "version": "1.0.0",
        "devDependencies": {},
        "dependencies": {}
    }
    
    


    node版本建议不要太低,低版本对es6的兼容性不好,我这里使用的是8.9.0

    然后安装babel

    yarn add babel-cli
    
    // 老版本babel-preset-2015已经废弃
    yarn add babel-preset-env
    

    然后再写几句es6测试一下

    // 新建一个诗人类
    class Poet {
      poem(...poemText) {
        console.log(poemText);
      }
    }
    
    epxort default Poet;
    
    //新建一个Test.js类
    import Poet from './Poet';
    let poet = new Poet();
    poet.poem('苟', '岂');
    
    // 然后用babel node指令跑一下Test.js
    babel-node Test.js
    // [ '苟', '岂' ]
    // 成功念出我想念的诗
    

    es6环境就ok了

    生成excel

    我这里用的是一个随便找的库excel-export,这个库的issue已经有人在喊"This project is DEAD!!!"

    无视他继续安装

    yarn add excel-export
    

    使用方法我这里也只是简单用一下基本功能,高级用法还是直接看该库的文档

    const conf = {};
    // 定义sheet名称
    conf.name = "DBData";
    // 定义列的名称以及数据类型
    conf.cols = [{
      caption:'Name',
      type:'string'
    },{
      caption:'Type',
      type:'string'
    }];
    
    // 定义row的数据
    conf.rows = ['Tom', "String"];
    // execute方法生成文件源数据
    const result = nodeExcel.execute(conf);
    // fs将文件写到内存
    fs.writeFile(`${__dirname}/test.xlsx`, result, 'binary', (err) => {
      err ? console.log(err) : null;
    });
    

    Demo的代码地址ExcelGenerator

    相关文章

      网友评论

          本文标题:一个NodeJS生成excel表格的小demo

          本文链接:https://www.haomeiwen.com/subject/dwmckqtx.html