node.js读取Excel数据(下载图片)的方法示例


Posted in Javascript onAugust 02, 2018

前言

因为组织观影活动需要统计报名和收集影评,选择微信小程序“报名工具”,管理员下载数据发现影评只是一个图片的URL链接,需要自己手动下载,哪里能难倒程序员?

1. 下载的Excel数据表:

node.js读取Excel数据(下载图片)的方法示例

2. 代码:

const xlsx = require('xlsx');
const mkdirp = require('mkdirp');
const request = require('request');
const fs = require('fs');

const workbook = xlsx.readFile('data.xls');

const sheetNames = workbook.SheetNames; // 返回 ['sheet1', ...]
const worksheet = workbook.Sheets[sheetNames[0]];
const data = xlsx.utils.sheet_to_json(worksheet);

const dir = './images';

// 创建文件夹
mkdirp(dir);

data.forEach(item => {
 request.head(item.img, (err, res, body) => {
  request(item.img).pipe(fs.createWriteStream(dir + "/" + item.name+'.jpg'));
 });
})

3. 运行结果:

node.js读取Excel数据(下载图片)的方法示例

4. 参考链接:

  • SheetJS/js-xlsx
  • Node.js批量抓取高清图片

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
游戏人文件夹程序 ver 3.0
Jul 14 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
Jan 15 Javascript
使用js解决由border属性引起的div宽度问题
Nov 26 Javascript
详解javascript中对数据格式化的思考
Jan 23 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
Aug 30 Javascript
原生JS实现小小的音乐播放器
Oct 16 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
Oct 10 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
Nov 05 Javascript
微信小程序实现人脸识别登陆的示例代码
Apr 02 Javascript
Vue运用transition实现过渡动画
May 06 Javascript
JS实现长图上下滚动效果
Mar 19 Javascript
JS函数式编程实现XDM一
Jun 16 Javascript
Vue-cli配置打包文件本地使用的教程图解
Aug 02 #Javascript
详解使用VueJS开发项目中的兼容问题
Aug 02 #Javascript
重新认识vue之事件阻止冒泡的实现
Aug 02 #Javascript
深入浅出理解JavaScript高级定时器原理与用法
Aug 02 #Javascript
解决vue router组件状态刷新消失的问题
Aug 01 #Javascript
Promise.all中对于reject的处理方法
Aug 01 #Javascript
详解es6超好用的语法糖Decorator
Aug 01 #Javascript
You might like
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
php实现头像上传预览功能
2017/04/27 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
[00:12]2018DOTA2亚洲邀请赛SOLO赛 MidOne是否中单第一人?
2018/04/05 DOTA
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
python ElementTree 基本读操作示例
2009/04/09 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
python学习之matplotlib绘制散点图实例
2017/12/09 Python
Python模拟登录的多种方法(四种)
2018/06/01 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
python实现逻辑回归的示例
2020/10/09 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
服务之星获奖感言
2014/01/21 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
浅谈Python数学建模之线性规划
2021/06/23 Python
Vue监视数据的原理详解
2022/02/24 Vue.js
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers