单元格显示图片(Toimage函数)

编辑
  • 文档创建者:印然
  • 浏览次数:28788次
  • 编辑次数:15次
  • 最近更新:张颖杰 于 2019-11-24
  • 1. 描述

    Toimage(path)用于在报表中显示某一路径 path 下的图片,path 既可以为绝对路径,也可以为相对路径,既可以为固定的本地路径,也可以为从数据库中取出的动态数据,以下分别进行介绍。

    注:导出报表时,单元格显示的图片不会导出。

    2. toimage 公式语法

    TOIMAGE(path, true, width, height):显示指定路径下的图片。此处默认开启了图片缓存功能以加速报表的生成。

      参数含义  
     path  图片路径
     true/false  图片缓存与否
     width  图片宽度
     height  图片高度

    注:除了 path,其余参数可自行选择是否需要

    示例:

    =toimage("d:/1.jpg", false, "50%", 300), 第二个参数为不需要缓存,第三个参数为指定宽度, 第四个参数为指定高度,

    如果参数为整数, 则直接写数字,如果为百分比, 则需要加上引号, 如"300%"。

    注:使用 toimage 返回的图片,使用默认布局,用户不可以在界面上设置。

    3. 显示固定路径下的图片

    3.1 绝对路径显示原图

    现有一图片存储路径为F:/FineReport_10.0/webroot/logo.png

    在单元格中输入公式:=Toimage("F:/FineReport_10.0/webroot/logo.png")
    222


    3.2 相对路径拉伸显示图片

    路径是相对于当前工程文件所在目录的,如此图片所在工程目录为 webroot。

    可简化路径,在单元格中输入公式:=Toimage("logo.png", true, "130%","180%")

    222

    4. 图片路径存于数据库表中

    存储于表字段 test 中:

    222

    4.1 字段存储的为完整的绝对路径

    若图片路径仍为F:/FineReport_10.0/webroot/logo.png,处于当前工程文件所在目录

    此时,将数据列 test 拖至单元格如 A1,如下图:

    右侧单元格属性表选择高级,在显示值中输入公式:=Toimage($$$)

    222

    注:如果用户数据库服务器和应用服务器分开的话,图片应该存放在应用服务器盘符上,而不是数据库服务器上。

    注:图片路径存于数据库表中不能使用 toimage 函数对图片进行缩放,但是可以通过图片自适应单元格属性来设置。

    右击单元格,选择样式>自定义>对齐或者直接在报表右侧的单元格属性面板中选择样式>自定义样式>对齐,将图片布局的方式改为适应,如下图:

    222


    4.2 字段存储的不是完整路径

    若图片路径不在当前工程文件所在目录,例如F:/logo.png

    此时需要在自定义显示的公式中,补全其绝对或相对路径。

    将自定义显示值公式修改为:=Toimage("F:/"+$$$)

    5. 显示网页中的图片

    若图片是网页中的图片,如:https://www.baidu.com/img/bd_logo1.png

    此时直接使用:toimage("https://www.baidu.com/img/bd_logo1.png") 即可。

    注:也可以使用webimage("https://www.baidu.com/img/bd_logo1.png")方法,详情参考-其他函数

    6. 说明

    Toimage()公式中,若想使用"\",则需再加上一个"\"进行转义

    如:Toimage("F:\\FineReport_10.0\\webroot\\logo.png"),作用与 Toimage("F:/FineReport_10.0/webroot/logo.png")是相同的

    Toimage()公式,支持 jpg、png、bmp 等多种常用格式的图片。

    附件列表


    主题: 报表设计
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]