国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Nodejs獲取網絡數據并生成Excel表格

2019-11-20 10:07:57
字體:
來源:轉載
供稿:網友

Nodejs的模版中有很多關于Excel表格的,這里我簡單介紹一下我使用過的一個模塊的使用。

首先,先安裝Excel的模塊:

npm install node-xlsx

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

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

最后,獲取數據并寫入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');// 默認值var defaultSetting = { // 如果返回false可以取消本次請求 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") {  // 處理默認值繼承  // todo ...  for (key in defaultSetting) {   if (settings[key] == null) {    settings[key] = defaultSetting[key];   }  } } var params = Url.parse(settings.url, true); // params 解析出來的參數如下 // { // "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內容:

源碼下載:Nodejs獲取網絡數據并生成Excel表格

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新疆| 饶河县| 灵山县| 封开县| 浮山县| 津南区| 威宁| 永登县| 富锦市| 吉首市| 介休市| 忻城县| 镇原县| 清流县| 招远市| 桑日县| 马关县| 陆河县| 武汉市| 弥渡县| 达州市| 商洛市| 乐业县| 高安市| 平遥县| 保康县| 伊金霍洛旗| 张家界市| 马关县| 读书| 平利县| 柘城县| 贵港市| 赤壁市| 诏安县| 成都市| 阳泉市| 安化县| 乃东县| 滦平县| 新建县|