使用easyExcel读取excel表格,再读取excel表格中的链接地址下载文件到本地。

1、引入easyexcel依赖

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.1</version>
</dependency>

2、新建与excel对应的实体类

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;@Data
public class ContractData {@ExcelProperty("contract_name")private String contractName;@ExcelProperty("url")private String url;
}

3、下载文件到本地

import com.alibaba.excel.EasyExcel;
import org.apache.commons.lang3.StringUtils;import java.io.*;
import java.net.*;
import java.util.List;public class DownloadFile {/*** 从网络Url中下载文件* @param urlStr* @param fileName* @param savePath* @throws IOException*/public static void downLoadByUrl(String urlStr,String fileName,String savePath) throws IOException{URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection)url.openConnection();//设置超时间为3秒conn.setConnectTimeout(5*1000);//防止屏蔽程序抓取而返回403错误conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");//得到输入流InputStream inputStream = conn.getInputStream();//获取自己数组byte[] getData = readInputStream(inputStream);//文件保存位置File saveDir = new File(savePath);if(!saveDir.exists()){saveDir.mkdir();}File file = new File(saveDir+File.separator+fileName);FileOutputStream fos = new FileOutputStream(file);fos.write(getData);if(fos!=null){fos.close();}if(inputStream!=null){inputStream.close();}System.out.println("info:"+url+" download success");}/*** 从输入流中获取字节数组* @param inputStream* @return* @throws IOException*/public static  byte[] readInputStream(InputStream inputStream) throws IOException {byte[] buffer = new byte[1024];int len = 0;ByteArrayOutputStream bos = new ByteArrayOutputStream();while((len = inputStream.read(buffer)) != -1) {bos.write(buffer, 0, len);}bos.close();return bos.toByteArray();}public static void main(String[] args) {try{String fileName = "E:/upload/文件名.xls";// 读取到的数据List<ContractData> list = EasyExcel.read(fileName).head(ContractData.class).sheet().doReadSync();for (ContractData data : list) {// 判空if (StringUtils.isBlank(data.getUrl())) {continue;}if (StringUtils.isBlank(data.getContractName())) {continue;}String url = data.getUrl();String name = data.getContractName() + ".pdf";downLoadByUrl(url, name, "E:/contract");}}catch (Exception e) {e.printStackTrace();}}
}

借鉴了其他博主的代码,一时找不到博主地址在哪,请见谅。如有错误之处,请指出,谢谢。

使用EasyExcel从Excel表格读取链接地址下载文件相关推荐

  1. java实现从http/https链接地址下载文件

    需求: 现在需要从http地址下载文件改到从https地址下载 改造: 代码示例: TestDownLoadFile.java import org.junit.Test; import org.sl ...

  2. Py自动化办公—Word文档替换、Excel表格读取、Pdf文件生成和Email自动邮件发送实战案例...

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 平阳歌舞新承宠,帘外春寒赐锦袍. ...

  3. 使用最新的poi-4.1.0.jar导入导出Excel表格——读取Excel表格数据用法

    使用最新的poi-4.1.0.jar导入导出Excel表格--读取Excel表格数据用法 其中主要的一点心得就是在switch语句哪里进行读取数据转换时,我看到网上的一些用法都是使用 HSSFCell ...

  4. EXCEL表格转化为XML格式文件

    EXCEL表格转化为XML格式文件 这里给出一个例子: 将get_1.csv文件转化为xml格式文件. 同时将里面的正文部分用jieba进行切词,使得正文每一个词都带有id和词性: from xml. ...

  5. java使用jxl生成excel表格,jsp使用js下载excel文件xls

    java使用jxl生成excel表格,jsp使用js下载excel文件 后端代码 maven jar包 主体代码逻辑 引入的jar包 具体代码段 重点详解 表头和表格内容两种格式 直接将 HttpSe ...

  6. python下载文件保存_Python根据URL地址下载文件并保存至对应目录的实现

    引言 在编程中经常会遇到图片等数据集将图片等数据以URL形式存储在txt文档中,为便于后续的分析,需要将其下载下来,并按照文件夹分类存储.本文以Github中Alexander Kim提供的图片分类数 ...

  7. Python根据URL地址下载文件并保存至对应目录

    Python根据URL地址下载文件并保存至对应目录 引言 在编程中经常会遇到图片等数据集将图片等数据以URL形式存储在txt文档中,为便于后续的分析,需要将其下载下来,并按照文件夹分类存储.本文以Gi ...

  8. 爬取http://ycb-benchmarks.s3-website-us-east-1.amazonaws.com/的链接并下载文件

    正好就是一个简单的爬虫任务,就分享个代码 #需求:爬取http://ycb-benchmarks.s3-website-us-east-1.amazonaws.com/的链接并下载文件import r ...

  9. 小程序配置阿里云OSS下载文件,在请求头里配置生成强制下载链接,(拿到下载链接可以下载文件至本地)

    小程序配置阿里云OSS下载文件,在请求头里配置生成强制下载链接,(拿到下载链接可以下载文件至本地)(Win10电脑开发环境)**这里只说明小程序端问题**<菜鸡总结大神勿喷!蟹蟹~> 大体 ...

最新文章

  1. [Ynoi2018]末日时在做什么?有没有空?可以来拯救吗?
  2. filter函数的用法_这几个超牛函数,你的Excel里有没有?
  3. Ubuntu16.04 64位系统下安装百度云管家
  4. java 刽子手游戏_java基础(九):容器
  5. 宝塔面板 nginx+apache共存 之 KVS服务器运行环境搭建过程记录
  6. CentOS7安装 MySQL主从集群
  7. 【推荐论文】基于多视角学习和个性化注意力机制的新闻推荐(附论文下载链接)...
  8. Java DatagramPacket 中的坑
  9. Java内部类最细详解
  10. pandas基础知识---2
  11. 最近给公司写的it规范,有经验的朋友给点意见
  12. java中switch、while、do...while、for
  13. 学生管理系统(JAVA后台简约版)
  14. PhpSpreadsheet 生成圆饼图
  15. 【生活记录】松江区驾驶证到期续办(上海)
  16. 【VSCode】设置代码格式化插件Beautify
  17. 请查收!顶会AAAI 2020录用论文之自然语言处理篇
  18. lzg_ad:XPE中的Remote Procedure Call (RPC) Locator服务无法启动
  19. Windows Embedded CE和Windows Mobile下ActiveSync开发
  20. PMS-adb install安装应用流程(Android L)

热门文章

  1. 良仓远行 · 硅谷遇上西雅图,同游招募
  2. 计算机图形学基础如何学,计算机图形学基础思考
  3. [No0000C7]windows 10桌面切换快捷键,win10
  4. 不礼让行人怎么抓拍的_斑马线前不礼让行人抓拍处罚,到底怎么才算
  5. 阿里云服务器是如何计费的?包年包月与按量付费有什么区别?
  6. 拍摄独特人像的技巧(下)
  7. 画廊效果的ViewPager实现(附带无限自动轮播)
  8. windows开启远程连接
  9. Winodws 快速添加开机启动项
  10. js闭包的理解以及闭包中this的理解