反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

单元格用HTML显示图片

1. 概述

1.1 问题描述

使用 FineReport 设计报表时,需要显示存储在数据库中的图片,该如何实现呢?

1.2 解决思路

若图片以路径形式或 Base64 编码形式存储在数据库,通过设置单元格内容用 HTML 形式显示就可以实现,但无法打印和导出图片。

若需要打印和导出图片,可参考文档 TOIMAGE函数显示单元格图片,但使用 TOIMAGE 函数只适用于显示某一路径下的图片。

2. 工程路径下的图片

2.1 准备数据

选取工程路径 webapps\webroot\help\picture\store 下的 1.png、2.png、3.png 作为展示图片。

新建内置数据集 Embedded1 存放图片工程路径信息,如下图所示:

1563868083500987.png

2.2 报表样式设计

在 A1~C1 单元格输入标题,将内置数据集中「图片名称」字段拖入 A2 单元格,「图片路径」字段拖入 B2 单元格,A2~C2 单元格扩展方向为「纵向扩展」,如下图所示:

1563868953768757.png

2.3 插入公式

选中 C2 单元格,单击右键选择「单元格元素>插入公式」,公式如下:

"<img style='height:160px;width:240px' src='" + B2 + "'/>"

公式说明:

height (图片高度) 为 160 像素,width (图片宽度)为 240 像素。

src 为图片的工程路径,即引用 B2 单元格图片路径信息。

1563869064212004.png

2.4 单元格显示内容设置

选中 C2 单元格,选择「单元格属性>其他>高级>显示内容」为「用HTML显示内容」,如下图所示:

1610438832443625.png

2.5 效果预览

1)PC 端

保存模板,点击「分页预览」,效果如下图所示:

1610440799599798.png

2)移动端

App 端和 H5 端均支持,效果如下图所示:

1610441562336520.jpg

注:移动端预览时图片可能无法完整显示,可以通过调大模板单元格行高来匹配移动端图片显示高度。

3. Base64形式的图片

3.1 准备数据

准备 Base64 编码方式的图片数据,搜索在线图片转码工具上传图片进行转码即可。

新建内置数据集 Embedded1 ,输入通过工具转码得出的 Base64 形式的图片数据,如下图所示:

注:FineReport 内置数据集对字段长度没有限制,但是普通数据库有长度限制。请确保图片转码后的 Base64 字符长度满足数据库字段长度限制,否则将导致显示异常。

Snag_1f9727b4.png

3.2 设计报表

A1 单元格输入标题「图片名称」,C1 单元格输入标题「image」,将内置数据集的字段「图片名称」拖入 A2 单元格,字段「image」拖入 B2 单元格,再将 B 列隐藏。如下图所示:

1610443667479757.png

3.3 插入公式

选中 C2 单元格,单击右键选择「单元格元素>插入公式」,公式如下:

"<img width='100%' height='100%' src='" + B2 + "'>"

公式说明:将 B2 单元格的图片按照原始比例显示出来。

1610443975665462.png

3.4 单元格显示内容设置

选中 C2 单元格,选择「单元格属性>其他>高级>显示内容」为「用HTML显示内容」,如下图所示:

1610444589307287.png

3.5 效果预览

1)PC 端

保存模板,点击「分页预览」,效果如下图所示:

Snag_1fafed23.png

2)移动端

App端 及 H5 端均支持,效果如下图所示:

Screenshot_20210112_174543.jpg

注:移动端预览时图片可能无法完整显示,可以通过调大模板单元格行高来匹配移动端图片显示高度。

4. 模板下载

已完成模板可参见:

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\单元格显示工程下的图片.cpt

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\单元格显示Base64图片.cpt

点击下载模板:

单元格显示工程下的图片.cpt

单元格显示Base64图片.cpt

附件列表


主題: 原简体文档
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉