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 相关文章推荐
通过event对象的fromElement属性解决热区设置主实体的一个bug
Dec 22 Javascript
JavaScript window.setTimeout() 的详细用法
Nov 04 Javascript
浅析Javascript使用include/require
Nov 13 Javascript
js淡入淡出焦点图幻灯片效果代码分享
Sep 08 Javascript
js改变透明度实现轮播图的算法
Aug 24 Javascript
javascript九宫格图片随机打乱位置的实现方法
Mar 15 Javascript
JavaScript无缝滚动效果的实例代码
Mar 27 Javascript
详解Vue结合后台的列表增删改案例
Aug 21 Javascript
RxJS的入门指引和初步应用
Jun 15 Javascript
Angular 多模块项目构建过程
Feb 13 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
Jul 24 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
Oct 01 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
Linux系统下PHP-FPM的安装和配置教程
2015/08/17 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
农历与西历对照
2006/09/06 Javascript
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
JS中input表单隐藏域及其使用方法
2017/02/13 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
2018/02/08 Javascript
深入理解Node module模块
2018/03/26 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
学习python (2)
2006/10/31 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
如何对python的字典进行排序
2020/06/19 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
简易离婚协议书(范本)
2014/10/25 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL
MongoDB 常用的crud操作语句
2021/06/20 MongoDB