Nodejs获取网络数据并生成Excel表格
网络编程 2021-07-04 21:05www.168986.cn编程入门
这篇文章主要为大家详细介绍了Nodejs获取网络数据并生成Excel表格的具体实现方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
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./datamanage/data/list", type: "GET", data: { tableid: "XXX",//53eacbe4e4b0693fbf5fd13b key: "XXX" }, suess: function (data) { var myDatas = []; var datas = (JSON.parse(data)).datas; var count = 0; for (var index in datas) { var aount = datas[index]; var colum = []; var names; if (index == 0) { names = []; } for (var index2 in aount) { if (index == 0) names.push(index2); var value = aount[index2]; if (value == null) { value = ""; } colum.push(value); // console.log(aount); } 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) { }, plete: function (req) { }, data: '', // Object, String dataType: 'JSON', error: function () { }, headers: {}, // {k:v, ...} statusCode: {}, suess: function (data) { }, timeout: 10, type: 'GET', // GET, POST url: ".baidu." }; / / 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.suess(data); settings.plete(req); }); }).on('error', function (e) { settings.error(e); }); // if (typeof settings.beforeSend === "function") { // if (!settings.beforeSend(req)) { // settings.plete(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内容
源码下载
以上就是本文的全部内容,希望对大家的学习有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指