前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Excel 批量插入图片的三种方式

Excel 批量插入图片的三种方式

作者头像
wujunmin
发布2025-02-10 17:06:08
发布2025-02-10 17:06:08
15500
代码可运行
举报
文章被收录于专栏:wujunminwujunmin
运行总次数:0
代码可运行

无论是Power BI还是Excel,批量导入图片都是刚需。Power BI参考《Power BI本地图片显示最佳解决方案》,本文分享Excel批量导入图片的三种方式。

最传统的方式是VBA,ExcelHome有海量的代码,以下是其中之一,批量选中单元格,自动插入该单元格内容对应的图片。图片既可以是图床URL,也可以储存在本地磁盘。该方式兼容几乎兼容现在还在使用的所有Excel版本。

代码语言:javascript
代码运行次数:0
复制
Sub 单元格显示图片()
'来源:ExcelHome http://club.excelhome.net/thread-1188085-1-1.html
On Error Resume Next
Dim MR As Range
For Each MR In Selection
  If Not IsEmpty(MR) Then
    MR.Select
    ML = MR.Left
    MT = MR.Top
    MW = MR.Width
    MH = MR.Height
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select
    Selection.ShapeRange.Fill.UserPicture _
       "路径" & MR.Value & ".jpg"    
   End If
Next
End Sub

第二种方式还是VBA,起因是微软在2023年新增一个插图功能:将图片直接放置在单元格中,路径如下图所示:

这使得Excel导入本地图片时有了新的交互效果,图片可以放置在单元格,也可以弹出,弹出后又可以缩回,图片还可以被公式直接引用,以下是效果演示:

默认只能单个图片导入,我设计了一段VBA可以实现批量导入,同样既可以图床URL也可以本地图片。该方法可以在365版本的Excel使用(其他版本我没测试过)

代码语言:javascript
代码运行次数:0
复制
Sub pictool()
    Dim wu As Range
    For Each wu In Selection
        If Not IsEmpty(wu) Then
            wu.Select
            Selection.InsertPictureInCell ("D:\公众号文件\案例\零售案例\商品管理:陈列销售库存看板 Excel版\产品照片\" & wu.Value & ".png ")
        End If
    Next
    '公众号、知乎、B站:wujunmin
End Sub

第三个方法不需要VBA,微软在2022年发布了Image函数,Image函数的语法如下:

=IMAGE (source, [alt_text], [sizing], [height], [width])

第一和第三个参数最常用到。第一个参数source即图片来源,仅支持HTTPS,如下图所示,仅这一个参数已可获得初步结果,目前支持的格式包括 BMP、JPG/JPEG、GIF、TIFF、PNG、ICO 和 WEBP。

第三个参数sizing用来设置图像和单元格的大小对应关系,不是必填项,参数的值可以是:

0 调整单元格中的图像并保持其纵横比。

1 使用图像填充单元格并忽略其纵横比。

2 保持原始图像大小,这可能会超过单元格边界。

3 使用高度和宽度参数自定义图像大小。

下图左侧是该参数为0的结果,右侧是1的结果。

目前的演示是单个图片,如何批量显示?批量显示的前提是知道图像URL的变化规律。下图通过分析某电商网站的图片URL,得知URL和产品ID是对应关系,且产品ID在URL中出现了2次,因此,将IMAGE函数如下设置公式后,即可批量显示产品图片。该方法可以在365版本的Excel使用。

另外第二第三种方法导入的图片可以用在透视表的行列,该功能于2023年发布,目前仍不支持用在【值】上。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 wujunmin 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档