zoukankan      html  css  js  c++  java
  • nodejs 导出 exel文件 xlsx

    参考:

    https://www.npmjs.com/package/node-xlsx

    Building a xlsx
    import xlsx from 'node-xlsx';
    // Or var xlsx = require('node-xlsx').default; 
     
    const data = [[1, 2, 3], [true, false, null, 'sheetjs'], ['foo', 'bar', new Date('2014-02-19T14:30Z'), '0.3'], ['baz', null, 'qux']]; //二维数组
    var buffer = xlsx.build([{name: "mySheetName", data: data}]); // Returns a buffer 

    http://nodejs.cn/api/fs.html

    fs.writeFile(file, data[, options], callback)

    结合起来写成

    function export_ex(file_name,sheet_name,ex_data,callback){
            var xlsx = require('node-xlsx');
            var t_data = xlsx.build([{name: sheet_name, data: ex_data}]);
            fs.writeFile('dir/'+file_name+'.xlsx', t_data, 'binary', callback);
        }

    如果从数据库读取出来的数据是这种形式[{},{},{}],需要转成二维数组形式

    参考:

    二维数组的声明:http://www.cnblogs.com/ymwangel/p/5875081.html

    var arr = new array();         //先声明一维
           for(var i=0;i<5;i++){          //一维长度为5
              arr[i]=new array();    //在声明二维
              for(var j=0;j<5;j++){      //二维长度为5
                 arr[i][j]=1;
           }
    }

    对象转化为数组:http://www.cnblogs.com/lijuntao/p/6604276.html

      var arr = [ ];
       for ( var i in data ){
                var str = i + “=“ + data[ i ]// i 就代表 data 里面的 user pass 等等 而data[ i ] 就代表 userName    12121 就是 i 所对应的值;
                arr.push( str );
      }
      这样就会得到 arr  =  [ user = userName, pass = 12121 ];

    结合起来写成:

    var ex_data = this.base.database;  //[{},{},{},{}]
    var field = [['title','title2']]
    
    for(var i=0;i<ex_data.length;i++){
        var arr = [];
        for ( var j in ex_data[i] ){
        if(j == 'style_no'){
            var str = ex_data[i][j];
            arr.push( str );
        }
        if(j == 'style_name'){
            var str = ex_data[i][j];
            arr.push( str );
        }
        }
        field.push(arr);
    }
  • 相关阅读:
    “老人之心”
    封装,策略模式,Asp换脸
    简单随机
    “辜新星”
    储存出题改进
    git
    读“徐宥”
    太白非技术类随笔(猛击这里!!!)
    python_模块
    python_day7学习笔记
  • 原文地址:https://www.cnblogs.com/gavinyyb/p/7099700.html
Copyright © 2011-2022 走看看