Python如何批量将图片以超链接的形式插入Excel

news2024/10/6 22:23:11

【研发背景】

在日常办公中,我们经常需要将图片插入进Excel中,但是如果插入的图片太多的话,就会导致Excel的文件内存越来越大,但是如果我直插入图片的路径,或者只是更改某一列的数据设置为超链接,这样的话,我们将大大减少文件的内存大小

第一步打开一个Excel

我的A列就是我的关键字,我想让它变成一个图片的超链接,如图1

前提条件:A列的每一个超链接文字,必须能通过这个文字找到这个图片!!,如图2

在这里插入图片描述
在这里插入图片描述

目录结构(根据自己实际情况自行修改!)

文件夹【数据源】——存放你想要设置超链接的源文件

文件夹【附件】——你的图片存放的文件夹

文件夹【结果】——保存后文件结果存放的文件夹

在这里插入图片描述

需要使用的第三方库,就一个openpyxl

安装
openpyxlpip install openpyxl

注意事项(一定要看啊 一定要看啊 一定要看啊 )

1、在代码的第5行,这里是插入附件的所在的路径,请您使用绝对路径!filePath = 'F:\随笔\测试\附件\\'

2、在代码的第8行,注意您操作的sheet,sheet1 = sheets[0] # 读取第一个表格

3、在代码的第10行,是指您想用哪一列的文字作为超链接,这里的A就是A列,根据实际情况修改!!for col in sheet1['A']: # 遍历表格第一列内容

4、在代码的12行,col1.append(col.value[13:]),这里我切片了,是因为我表格里是完整的路径,我需要切出附件的名字!!,请您根据实际情况修改!

完整版代码:

import os
import openpyxl  # 处理xlsx文件模块

fileName = './数据源/' + os.listdir('./数据源/')[0]  # xlsx文件相对路径
filePath = './附件/'  # 图片所在文件夹路径
wb = openpyxl.load_workbook(fileName)  # 加载表格
sheets = wb.worksheets  # 读取表格内容
sheet1 = sheets[0]  # 读取第一个表格
col1 = []  # 存放表格第一列内容
for col in sheet1['A']:  # 遍历表格第一列内容
    if col.value != None:
        col1.append(col.value[13:])  # 这里我切片了,是因为我表格里是完整的路径,我需要切出附件的名字!!
lists = os.listdir(filePath)  # 读取图片名称
ws = wb.active  # 激活
for l in lists:  # 遍历存放图片名称的数组
    if l in col1:  # 找到图片名对应的列表标签
        i = int(col1.index(l)) + 1  # 用index()获取元素下标
        path = os.path.join(filePath, l)
        ws.cell(i, 1).value = ('=HYPERLINK("{}","{}")'.format(path, ws.cell(i, 1).value))  # 以超链接方式写入表格单元
wb.save('./结果/res.xlsx')  # 一定要保存表格

视频展示

在这里插入图片描述

希望对大家有帮助,如有错误,欢迎指正

致力于办公自动化的小小程序员一枚

希望能得到大家的【一个免费关注】!感谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/727005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

拉格朗日乘子法

首先定义一个原始最优化问题: 引入广义拉格朗日函数,将约束问题转换为无约束优化问题: 参数和自变量x求偏导,分别为零,就能解出一个值(极大值或者极小值)。 直接求解有时候非常困难&#xff0c…

企业和公司扩展WordPress网站的4种方法

Netflix 通过邮递观看 DVD。Apple 是一家计算机公司,而不是电话公司。WordPress 是一个博客平台。 这三个陈述有什么共同点?十年前都是对的,现在都不是了。如今,Netflix 以数字方式提供原创内容而闻名。Apple 正在推出其广受欢迎…

从零开始 Spring Boot 62:过滤实体和关系

从零开始 Spring Boot 62:过滤实体和关系 图源:简书 (jianshu.com) JPA(Hibernate)中有一些注解可以用于筛选实体和关系,本文将介绍这些注解。 Where 有时候,我们希望对表中的数据进行“软删除”&#x…

Meta为全天候AR眼镜设计了AI系统的八大指导方针

众所周知,Meta不仅局限在Quest这类VR头显上,同时还在打造更轻量化的AR眼镜,目标就是让产品更好的融入到人们的日常生活中去。除了硬件上轻量化以外,在功能和交互体验上也至关重要,例如自然交互方式,比如手势…

什么是人工智能大模型?

目录 1. 人工智能大模型的概述:2. 典型的人工智能大模型:3. 人工智能大模型的应用领域:4. 人工智能大模型的挑战与未来:5. 人工智能大模型的开发和应用:6. 人工智能大模型的学习资源: 人工智能大模型是指具…

MySQL(创建、删除、查询数据库以及依据数据类型建表)

一、 1.创建数据库, mysql> CREATE DATABASE IF NOT EXISTS SECOND_DB; Query OK, 1 row affected (0.01 sec)2.删除数据库, mysql> DROP DATABASE IF EXISTS SECOND_DB; Query OK, 0 rows affected (0.11 sec)3.查询创建数据的语句,…

优化模型案例

案例1 生产决策问题 (一个简单的线性规划问题) 某工厂在计划期内要安排I、II两种产品生产。生产单位产品所需的设备台时,A,B两种原材料的消耗,资源的限制以及单件产品利润如下表所示 问工厂应分别生产多少单位产品I和…

修改开发板内核启动日志输出级别

1.用超级用户权限输入命令 2.将verbosity 1改成7,将console(控制) both 改成 serial(串口控制),然后wq保存退出 3.输入命令sudo reboot 查看启动日志输出级别

华为云CodeArts IDE Online:让你随时随地畅享云端编码乐趣

软件开发是把人类智慧以代码方式表达出来的过程,面对不可预知且快速变化的世界,开发者面临着前所未有的巨大挑战。例如,软件交付周期和迭代速度要求更高、开发者需要快速学习各种新技术、开发时间碎片化严重、分散的交付团队协同困难、开发与…

微信小程序接入第三方后,不能及时发送客服消息

微信小程序接入第三方后,不能及时发送客服消息 1、要把这里关了,后台才能及时收到用户发来的消息

机器学习16:使用 TensorFlow 进行神经网络编程练习

在【机器学习15】中,笔者介绍了神经网络的基本原理。在本篇中,我们使用 TensorFlow 来训练、验证神经网络模型,并探索不同 “层数节点数” 对模型预测效果的影响,以便读者对神经网络模型有一个更加直观的认识。 目录 1.导入依赖…

Dubbo入门详解,API方式与SpringBoot方式

Hi I’m Shendi Dubbo入门详解,API方式与SpringBoot方式 在之前一直使用的自己编写的RPC框架,因为是自己编写的,功能上比不过市面上的开源框架,包括后面Spring Cloud系列,如果还用自己编写的话就需要去做整合之类的&am…

OpenResume一个功能强大的开源简历生成器,太炫了

OpenResume 是一个功能强大的开源简历生成器和简历解析器。目标是为每个人提供免费的现代专业简历设计,让任何人都能充满信心地申请工作。 核心优势 「实时UI更新」:当输入简历信息时,简历 PDF 会实时更新,因此可以轻松查看最终输出。 「现…

LeetCode刷题 | 647. 回文子串、516. 最长回文子序列

647. 回文子串 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成&#…

ModaHub魔搭社区:清华开源ChatGLM语言模型一键部署教程

目录 ChatGLM是什么 傻瓜式安装部署 一.下载 二、解压 ChatGLM懒人安装包 ChatGLM是什么 ChatGLM和ChatGPT类似,是由清华大学开发的开源大型语言模型。由于它是开源的,所以带来了很多的可能性,比如可以像Ai绘画一样自己微调模型。 目前…

老板说,给我把这个 JS React 项目迁移到 TypeScript

在我们日益发展的网络开发领域中,JavaScript 长期以来一直是首选的语言。它的多功能性和普及性推动了许多应用和网站取得成功。然而,随着项目规模和复杂性的增长,维护 JavaScript 代码库可能变得具有挑战性、容易出错且难以扩展。 走出来的第…

5-Spring cloud之Feign的使用——服务器上实操

5-Spring cloud之Feign的使用——服务器上实操 1. 前言2. 搭建Feign2.1 添加子模块——dog-api2.1.1 子模块结构2.1.2 pom文件2.1.3 核心接口DogClientApi 2.2 添加子模块——dog-consumer-feign-802.2.1 子模块结构2.2.2 pom文件2.2.3 yml文件2.2.4 主启动类2.2.5 controller …

Linux里git的使用

git的使用 一.前置要求1.git的安装2.注册Gitee并创建仓库 二.git三板斧 一.前置要求 1.git的安装 2.注册Gitee并创建仓库 然后记住下面的网址。 之后将仓库克隆到云服务器里。记得输入gitee的账号和密码。 查看目录,可以发现仓库已经在目录里了。 进入目录&#xf…

python毕设课设大作业《火车票分析助手》程序

在PyCharm中运行《火车票分析助手》即可进入如图1所示的系统主界面。 图1 系统主界面 具体的操作步骤如下: (1)在主界面“车票查询”选项卡中依次输入,出发地、目的地以及出发时间,然后单击“查询”按钮,…

十九、Jenkins版本构建完成,触发自动化测试

十九、Jenkins版本构建完成,触发自动化测试 1.构建后操作-Build other projects 2.关联自动化测试工程 这样版本构建完成,就会执行自动化测试