解决腾讯文档使用收集表收集图片,图片无法批量保存到本地问题

您所在的位置:网站首页 qq文件存到微云别人能看到吗 解决腾讯文档使用收集表收集图片,图片无法批量保存到本地问题

解决腾讯文档使用收集表收集图片,图片无法批量保存到本地问题

2023-10-19 00:56| 来源: 网络整理| 查看: 265

像这种收集表收集的图片貌似是只能单个查看然后单个下载(我找了半天,没有找见批量下载,网上也没有搜到)

但是如果收集很多图片的话,单个保存会特别麻烦,重复性的工作就应该交给计算机处理嘛

我在网上查了很多资料,终于使用 宏+java 实现了

1.在本地创建一个.xls文件(xlsx不行) ,然后将腾讯文档中的图片列粘贴到文件中

2.在wps中选择【开发工具】-->【Vb编辑器】,新建模块,使用以下代码提取超链接

Function GetActAddress(HlinkCell)

Application.Volatile True With HlinkCell.Hyperlinks(1) GetActAddress = IIf(.Address = "", .SubAddress, .Address) End With End Function  

 如图

java代码如下:

package test;

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.net.URL; import java.net.URLConnection; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import java.io.FileInputStream; import java.io.InputStream;

public class LoadTest {

    public static void main(String[] args) {         Workbook wb = null;         try {             //读取execl文件             InputStream is = new FileInputStream("F://收集结果.xls");             wb = Workbook.getWorkbook(is);

            int sheetSize = wb.getNumberOfSheets();             Sheet sheet = wb.getSheet(0);             int row_total = sheet.getRows();             //循环获取每一行的内容             for (int i = 0; i < row_total; i++) {

                Cell[] cells = sheet.getRow(i);                 String imgName = cells[2].getContents();    //这里是获取execl表中第三列的姓名

                String urlName = cells[1].getContents();     //获取图片的链接

                URL url = new URL(urlName);                 URLConnection connection = url.openConnection();                 connection.connect();

                System.out.println("内容类型:" + connection.getContentType());                            BufferedOutputStream bos = new BufferedOutputStream(

                        //保存的图片以  姓名.jpeg  保存到F盘下的qingnian文件夹中                         new FileOutputStream("F:/qingnian/" + imgName + ".jpeg"));                  BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());                 byte[] bytes = new byte[8192];                 int length = -1;                 while ((length = bis.read(bytes)) != -1) {                     bos.write(bytes, 0, length);                 }

                bis.close();                 bos.close();

            }             System.out.println("图片全部下载完毕");         } catch (Exception e) {             e.printStackTrace();         }

    }

}

 

最终实现了批量下载,当然过程比较繁琐,代码也只是初步实现,但也为做重复性的工作节省了不少力气。

 

参考博客:https://www.cnblogs.com/bretgui/p/10156141.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3