茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格
    來(lái)源:易賢網(wǎng) 閱讀:1738 次 日期:2016-07-02 11:51:14
    溫馨提示:易賢網(wǎng)小編為您整理了“Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格”,方便廣大網(wǎng)友查閱!

    這篇文章主要為大家詳細(xì)介紹了Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格的具體實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下

    Nodejs的模版中有很多關(guān)于Excel表格的,這里我簡(jiǎn)單介紹一下我使用過(guò)的一個(gè)模塊的使用。

    首先,先安裝Excel的模塊:

    npm install node-xlsx

    然后,在代碼中引入模塊:

    var xlsx = require('node-xlsx');

    最后,獲取數(shù)據(jù)并寫入Excel:

    var fs = require('fs');

    var xlsx = require('node-xlsx');

    var ajax = require('./ajax.js');

    start();

    function start() {

     ajax.ajax({

      url: "http://yuntuapi.amap.com/datamanage/data/list",

      type: "GET",

      data: {

       tableid: "XXX",//53eacbe4e4b0693fbf5fd13b

       key: "XXX"

      },

      success: function (data) {

       var myDatas = [];

       var datas = (JSON.parse(data)).datas;

       var count = 0;

       for (var index in datas) {

        var account = datas[index];

        var colum = [];

        var names;

        if (index == 0) {

         names = [];

        }

        for (var index2 in account) {

         if (index == 0)

          names.push(index2);

         var value = account[index2];

         if (value == null) {

          value = "";

         }

         colum.push(value);

    //     console.log(account);

        }

        if (index == 0) {

         myDatas.push(names);

        }

        myDatas.push(colum);

        if (index == datas.length - 1) {

         writeXls(myDatas);

        }

       }

       console.log(myDatas.length);

      }

     });

    }

    function writeXls(datas) {

     var buffer = xlsx.build({worksheets: [

      {"name": "Group", "data": datas}

     ]});

     fs.writeFileSync("Group.csv", buffer, 'binary');

    }

    function parseXls() {

     var obj = xlsx.parse('myFile.xlsx');

     console.log(obj);

    }

    Ajax 部分的代碼:

    var https = require("https");

    var http = require("http");

    var Url = require("url");

    var querystring = require('querystring');

    // 默認(rèn)值

    var defaultSetting = {

     // 如果返回false可以取消本次請(qǐng)求

     beforeSend: function (req) {

     },

     complete: function (req) {

     },

     data: '', // Object, String

     dataType: 'JSON',

     error: function () {

     },

     headers: {}, // {k:v, ...}

     statusCode: {},

     success: function (data) {

     },

     timeout: 10,

     type: 'GET', // GET, POST

     url: "www.baidu.com"

    };

    /**

     *

     */

    function ajax(settings) {

     // ajaxlbs.js(settings)

     if (typeof settings === "object") {

      // 處理默認(rèn)值繼承

      // todo ...

      for (key in defaultSetting) {

       if (settings[key] == null) {

        settings[key] = defaultSetting[key];

       }

      }

     }

     var params = Url.parse(settings.url, true);

     // params 解析出來(lái)的參數(shù)如下

     // {

     // "protocol":"http:",

     // "slashes":true,

     // "host":"localhost:3000",

     // "port":"3000",

     // "hostname":"localhost",

     // "href":"http://localhost:3000/?d=1",

     // "search":"?d=1",

     // "query":{"d":"1"},

     // "pathname":"/",

     // "path":"/?d=1"

     // }

     var options = {

      host: params.hostname,

      port: params.port || 80,

      path: params.path,

      method: settings.type

     };

     if (settings.data != null) {

      options.path += "?"

      for (var key in settings.data) {

       options.path = options.path + "&" + key + "=" + settings.data[key];

      }

      console.log(options.path);

     }

     var httpUnity = http;

     if (params.protocol == "https:") {

      options.port = 443;

      var httpUnity = https;

     }

     var req = httpUnity.request(options,function (res) {

      var data = '';

      res.on('data',function (chunk) {

       data += chunk;

      }).on('end', function () {

        if (settings.dataType === "json") {

         try {

          data = JSON.parse(data);

         } catch (e) {

          data = null;

         }

        }

        settings.success(data);

        settings.complete(req);

       });

     }).on('error', function (e) {

       settings.error(e);

      });

    // if (typeof settings.beforeSend === "function") {

    //  if (!settings.beforeSend(req)) {

    //   settings.complete(req);

    //   req.end();

    //   return false;

    //  }

    // }

     if (settings.type === "POST") {

      var dataStr = querystring.stringify(settings.data);

      req.setHeader("Content-Length", dataStr.length);

      req.write(dataStr);

     }

     req.setTimeout(settings.timeout);

     req.end();

    }

    exports.ajax = ajax;

    生成的Excel內(nèi)容:

    名單

    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)