客户需求:
之前遇到过客户希望后台直接获取到快逸生成统计图,当时给客户解决的方法是通过先在快逸报表中设置统计图,后台运算后,获取到报表单元格的值,转化成ImageValue对象。
实现准备:
1:了解清楚客户需求报报表的统计图类型,并查询api获取到对应的byte值
2:获取分类轴的值,转化成数组
3:获取系列名称,转化成数组
4:获取系列值,转化成数组
5:获取标题,转化成数组
代码:
package com.api;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import com.raq.dm.Sequence;
import com.runqian.report4.model.expression.graph.ExtGraphCategory;
import com.runqian.report4.model.expression.graph.ExtGraphProperty;
import com.runqian.report4.model.expression.graph.ExtGraphSery;
import com.runqian.report4.model.expression.graph.StatisticGraph;
import com.runqian.report4.usermodel.Palette;
import com.runqian.report4.usermodel.graph.GraphProperty;
import com.runqian.report4.usermodel.graph.ImageValue;
public class V4Graph {
//通过参数决定返回那个统计图,1<=参数<=20
byte[]img=null;
public byte[] getGraps(int num) {
try{
byte[]types={1,14,12,2,7,13,20,22,21,10,15,8,9,5,6,4,17,16,11,29};
String[]cats=new String[]{“Apr”,”Feb”,”Jan”,”Jun”,”Mar”,”May”};
String[]sers=new String[]{“煤“,”石油“,”沼气“};
int[]vals=new int[]{23,20,10,21,10,5,21,12,3,26,6,5,23,19,4,20,15,8};
String[] tips = new String[]{“a”,”b”,”c”,”a”,”b”,”c”,”a”,”b”,”c”,”a”,”b”,”c”,”a”,”b”,”c”,”a”,”b”,”c”};
GraphProperty graphProp=new GraphProperty();
graphProp.setImageFormat(GraphProperty.IMAGE_PNG);
graphProp.setType(types[num-1]);
ExtGraphProperty extProp = new ExtGraphProperty(graphProp);
ArrayList categories = new ArrayList();
ExtGraphCategory graphCat = null;
for(int c=0;c<cats.length;c++){
graphCat=new ExtGraphCategory();
graphCat.setName(cats[c]);
ArrayList series = new ArrayList();
for(int s=0;s<sers.length;s++){
ExtGraphSery graphSery = new ExtGraphSery();
graphSery.setName(sers[s]);
graphSery.setValue(vals[(c*3+s)]);
graphSery.setTips(tips[c*3+s]);
series.add(graphSery);
graphCat.setSeries(series);
}
categories.add(graphCat);
}
extProp.setCategories(categories);
// 设置调色板
extProp.setPalette(Palette.getDefaultPalette());
// 计算统计图
StatisticGraph sg = new StatisticGraph(extProp, 360, 220); // 三个参数分别为:统计图属性,宽度,高度
ImageValue value = sg.calc();
img = value.getValue();
}
catch (Throwable e) {
e.printStackTrace();
}
return img;
}
}
总结:
例子中循环遍历,生成了20个统计图,可根据客户具体需求更改代码。

转载于:https://blog.51cto.com/aqqle/932701

快逸报表API直接生成v4统计图相关推荐

  1. 快逸报表日志文件的配置方法

    日志系统是一种不可或缺的跟踪调试工具,特别是在任何无人职守的后台程序以及那些没有跟踪调试环境的系统中有着广泛的应用. 长期以来, 日志系统作为一种应用程序服务,对于跟踪调试.程序状态记录.崩溃数据恢复 ...

  2. java 多选列表框_快逸报表:填报中的下拉多选列表框

    在快逸报表应用的填报页面中,下拉框是最常见的了.下拉选择框可以简化用户的输入,可以避免用户的错误录入,还可以轻松实现中文与代码的映射关系,可谓用途多多. 可是随着业务的越来越复杂,各种奇怪的需求均可能 ...

  3. 深度经验总结:快逸报表工具单数据集版本和多数据集版本的主要区别之一

    快逸报表工具单数据集版本和多数据集版本的主要 区别之一,深度经验总结: 为了展现复杂含有计 算报表必须要union多个子查询出来形成一个数据 集 我现在是子查询1 union all 子查询2 uni ...

  4. 快逸报表数据源找不到的一个原因

    快逸报表在设计器中编辑的时候,如果数据集不指定数据源名称,那么设计器会默认用当前数据库来设计报表. 但是,如果报表部署的应用服务器中存在多个数据源的话,所有的报表都会默认的去连接第一个数据源.那么用第 ...

  5. 快逸报表部署 (一)-- demo连接mysql数据库

    1. 设计器连接mysql数据库, 创建first.raq报表文件 2. 创建demo.jsp,嵌入报表,jsp顶部加入下面两行 <%@ page contentType="text/ ...

  6. HTML交叉报表制作,交叉报表- 交叉式报表-复杂报表设计教程| 快逸报表工具用户手册...

    报表样例 通过本示例,可以了解单元格交叉扩展在报表中的应用. 制作如下图所示的交叉报表"产品销售统计表": 报表特点: 报表的行.列表头数据均是从数据集中动态获取,例如本示例报表中 ...

  7. 快逸报表参数查询前报表不显示

    前言 大家还在为不进行条件查询数据报表不显示这个需求苦苦挣扎着实现吗?以往我们用的方法都是在参数模板(参数报表)中增加一个标志位参数,主报表若能接收该参数,证明已经进行了查询,否则认为初次加载,再拼给 ...

  8. 快逸报表4.2 配置 PostgreSQL数据源

    1.报表安装 在安装的过程中注意选择JDK的版本,可以选择自己电脑上安装的版本.这样做的目的是以后JDBC驱动程序的版本过高发生编译错误. 2.数据源配置 把postgreSQL的驱动文件放到安装目录 ...

  9. android中数据集成,移动数据终端 - 移动应用的集成-Android集成调用 | 快逸报表工具用户手册...

    接口文件说明 Android提供的接口包对应的文件目录结构及相关的说明如下: 按照以上目录结果对文件进行拷贝后,需要对AndroidManifest.xml文件进行合并或拷贝: 对所有的的内容进行拷贝 ...

最新文章

  1. laravel artisan
  2. 贪心/动态规划 - 买卖股票的最佳时机含手续费
  3. 消息发送和接收基本应用
  4. Web Worker的最好文章
  5. Fibonacci again and again HDU - 1848(尼姆博弈+SG函数的运用+SG函数详解)
  6. ahp层次分析法_基于层次分析法(AHP)的店铺选址应用研究
  7. C语言课后习题(12)
  8. python自动压图贴图到Excel小工具
  9. Go WebSocket开发与测试实践【gorilla/websocket】
  10. 2021-10-1825. K 个一组翻转链表
  11. Citrix 桌面云 XenApp_XenDesktop_7.15 部署系列(六)配置虚拟桌面控制器
  12. sqlhelper java_java版sqlhelper
  13. linux卸载设备驱动命令,Linux驱动-注册和卸载设备函数
  14. 微信支付商户号如何开通0.2%提现费率/手续费?
  15. 2008服务器系统c盘清理,WindowsServer2008清理C盘空间
  16. 使用Arduino读取RC接收机PWM信号的三种方式
  17. 10g recyclebin与用户表空间限额
  18. 搭建AdGuard Home广告拦截DNS解析服务器
  19. 阿里linux内核月报201412
  20. 【Python网络蜘蛛】:基础 - 爬虫的基本原理

热门文章

  1. 利用watch在小程序中实现全局状态共享
  2. C++多态中虚函数的深入理解
  3. 为什么下一个SaaS公司绝不会效仿Salesforce?
  4. Linux服务器生产环境中的文件删除与替换
  5. Lombok: Java开发的利器
  6. webcdn故障处理一例
  7. Nokia5110液晶屏完全新手学习笔记(二)
  8. 一键清理 Nexus 中无用的 Docker 镜像
  9. python-字典dict、去除重复set
  10. centos 7 python2.7.5升级到3.5.2