图片链接如何在excel里转成图片_mdf文件怎么转成Excel

图片链接如何在excel里转成图片_mdf文件怎么转成Excel前阵子从数据库中导出数据给业务,但是图片是个URL,业务需要在Excel中直接显示图片,因此在网上爬了很多VB脚本尝试修改,最终将Excel中的图片URL转换成了图片。VB脚本LoadImage.bas:’charsetGB2312.Excel中的图片链接转为图片文件AttributeVB_Name=”LoadImage加载图片”SubLoadImage()

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前阵子从数据库中导出数据给业务,但是图片是个URL,业务需要在 Excel 中直接显示图片,因此在网上爬了很多VB脚本尝试修改,最终将Excel中的图片URL转换成了图片。

VB脚本 LoadImage.bas :

' charset GB2312 . Excel 中的图片链接转为图片文件

Attribute VB_Name = "LoadImage加载图片"
Sub LoadImage()
Dim HLK As Hyperlink, Rng As Range
For Each HLK In ActiveSheet.Hyperlinks  '循环活动工作表中的各个超链接
    If UCase(HLK.Address) Like "*.JPG" Or UCase(HLK.Address) Like "*.JPEG" Or UCase(HLK.Address) Like "*.PNG" Or UCase(HLK.Address) Like "*.GIF" Then  '如果链接的位置是jpg或gif图片(此处仅针对此两种图片类型,更多类型可以通过建立数组或字典或正则来判断)
        Set Rng = HLK.Parent.Offset(, 0)  '设定插入目标图片的位置
        With ActiveSheet.Pictures.Insert(HLK.Address)  '插入链接地址中的图片
            If .Height / .Width > Rng.Height / Rng.Width Then  '判断图片纵横比与单元格纵横比的比值以确定针对单元格缩放的比例
                .Top = Rng.Top
                .Left = Rng.Left + (Rng.Width - .Width * Rng.Height / .Height) / 2
                .Width = .Width * Rng.Height / .Height
                .Height = Rng.Height
            Else
                .Left = Rng.Left
                .Top = Rng.Top + (Rng.Height - .Height * Rng.Width / .Width) / 2
                .Height = .Height * Rng.Width / .Width
                .Width = Rng.Width
            End If
        End With
        HLK.Parent.Value = ""   '删除单元格的图片链接
    End If
Next
End Sub

打开Excel后在查看“宏”里新建一个宏会弹出VB编辑器(或直接打开VB编辑器),然后将这个 LoadImage.bas 文件导入,运行

如果数据较大可能会比较慢

Link: http://www.exceltip.net/thread-22321-1-1.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190661.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 汇编 常用_汇编指令详解

    汇编 常用_汇编指令详解
    常见的基本汇编书籍 

    Windows.环境下32位汇编语言程序设计(第2版) 
    http://www.happycampus.cn/docs/957100583237@hc10/275980/ 

    汇编语言编程艺术 

    Intel汇编语言程序设计(第四版) 

    Intel汇编语言程序设计(第五版)范例 
    http://download.csdn.net/source/1523425 

    2022年10月13日
    7
  • 分布式全局唯一ID生成器(支持多种注册中心)的实现

    分布式全局唯一ID生成器(支持多种注册中心)的实现在订单、支付的业务场景中,单号的生成规则与生成方式十分重要,实现有很多种,最简单的是基于mysql自增主键实现,方案优劣不多说,大家都清楚。我们今天实现一种分布式的、可扩展的并且在高并发场景能保证高性能的全局唯一ID生成方案(基于twitter的snowflake原理进行改编和扩展)。不多说直接上代码。packagecom.zxm.adapter;importorg.apache.z…

    2022年6月21日
    32
  • shell编程 if_linux shell if语句

    shell编程 if_linux shell if语句一、shell编程中条件表达式的使用if  #条件then Commandelse Commandfi   #别忘了这个结尾如果if语句忘了结尾fitest.sh:line14:syntaxerror: unexpectedendoffi二、if的三种条件表达式1.命令执行成功,等于返回0(比如grep,找到匹配);执行失败,

    2022年8月18日
    9
  • 死锁与递归锁及信号量等[通俗易懂]

    死锁与递归锁进程也是有死锁的所谓死锁:是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死

    2022年3月29日
    40
  • 浅谈ArrayList动态扩容

    浅谈ArrayList动态扩容环境:eclipse,jdk1.8简介ArrayList实现了List接口,继承了AbstractList,底层是数组实现的,一般我们把它认为是可以自增扩容的数组。它是非线程安全的,一般多用于单线程环境下(与Vector最大的区别就是,Vector是线程安全的,所以ArrayList性能相对Vector会好些),它实现了Serializable接口,因此它支持序列化,能够通过序列化传输

    2022年6月10日
    32
  • AdminLTE 框架应用(一 )- 插件介绍

    AdminLTE 框架应用(一 )- 插件介绍

    2021年11月5日
    134

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号