皕杰技术社区

 找回密码
 立即加入

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1037|回复: 2

皕杰报表单元格显示网络图片

[复制链接]
发表于 2019-8-26 11:04:09 | 显示全部楼层 |阅读模式
皕杰报表单元格显示网络图片
皕杰报表可以用自定义函数来获取网络图片,然后将图片流返回到图片单元格中,最后预览的时候显示图片 。
设计方案:
1.参考皕杰帮助文档-开发指南-javadoc-bios.report.api.customize.CustomFunction,写自定义函数,实现获取网络图片流
实例代码:
  1. package bios.report.dev.examples.function;
  2. import java.io.ByteArrayOutputStream;
  3. import java.io.InputStream;
  4. import java.net.HttpURLConnection;
  5. import java.net.URL;
  6. import bios.report.api.customize.CustomFunction;
  7. import bios.report.api.utils.LoggerUtil;
  8. /**
  9. * 自定义函数实现示例,根据url,获取图片,可在图片类型的单元格中展示
  10. * @author Bijetsoft.com
  11. */
  12. public class UrlImage extends CustomFunction {
  13.         /**
  14.          * 实现父类中指定的计算方法
  15.          */
  16.         public Object calc(Object[] args) {
  17.             
  18.                         
复制代码

 楼主| 发表于 2019-8-26 11:05:58 | 显示全部楼层
  1.    String imageUrl = (String)args[0];        
  2.                 try {
  3.                         URL url = new URL(imageUrl);
  4.                         HttpURLConnection urlc = (HttpURLConnection)url.openConnection();
  5.                         urlc.setRequestMethod("GET");
  6.                         InputStream in = urlc.getInputStream();
  7.                         ByteArrayOutputStream out = new ByteArrayOutputStream();
  8.                         byte[] tmp = new byte[1024];
  9.                         int i;
  10.                         while ((i = in.read(tmp)) >= 0) {
  11.                                 out.write(tmp, 0, i);
  12.                         }
  13.                         return out.toByteArray(); //将图片转为二进制数据数组返回
  14.                 } catch (Exception e) {
  15.                         LoggerUtil.error("图片获取失败", e); //在报表日志中输出错误信息
  16.                 }
  17.                 return null;               
  18.         }
  19. }
复制代码


2.将这个自定义函数类打成jar包
3.设计器-窗口-首选项-通用配置-类加载,将这个jar包加载进来

4.配置自定义函数路径,设计器-工具-自定义函数

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即加入

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-26 11:06:55 | 显示全部楼层
5.设计报表,单元格为图片单元格,单元格表达式为=urlimg("http://bijetsoft.com/wp-content/uploads/2012/08/slide-01.jpg")

6.预览报表

7.Web端集成自定义函数
将设计器BIOS Studio\configuration文件夹下的custom_functions.properties文件复制到web应用报表环境WEB-INF\resources文件夹下 ,将自定义函数jar包复制到web应用报表环境WEB-INF\lib文件夹下 。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即加入

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ|小黑屋|手机版|皕杰软件 ( 京ICP备14050931号 )

GMT+8, 2024-10-22 19:38 , Processed in 1.096854 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表