快逸报表API直接生成v4统计图

客户需求:

之前遇到过客户希望后台直接获取到快逸生成统计图,当时给客户解决的方法是通过先在快逸报表中设置统计图,后台运算后,获取到报表单元格的值,转化成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个统计图,可根据客户具体需求更改代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
快逸报表使用 在网上找个很多资料,也按着资料去尝试了多次,最终都以失败告终,也发现大部分文章都是拷贝粘贴来的,真不知道那些作者怎么想的,为什么不亲身测试后再贴到自己博客里呢,好了,废话少说,经过那么多次失败,最终亲测成功,特别整理发表,为那些刚接触快逸报表的同胞们省去不必要浪费的时间. 一. 下载并安装快逸报表软件工具 下载安装不需要过多赘述,跟安装日常软件没什么区别,值得提到的是必须先安装好环境, 先安装 JDK,还有Tomcat 相关的配置步骤网上很多资料,相信不会难倒读者.笔者使用快逸报表版本为4.2.20,JDK1.5,Tomcat 6.0. 二. 报表设计 (1)关于授权 打开报表设计器,如果提示授权的话,你可以到安装目录下找到,笔者安装在了C盘, 所以目录如下C:\ProgramFiles\quieeReport\webapps\quiee\WEB-INF\classes 可以看到相关的授权. (2)配置数据源 打开设计器之后, 安装后打开报表设计器,选择配置-数据源-新建-关系数据库,开始配置数据源,笔者用的是mysql,以mysql举例: 其中关键位置如下: 数据源名称要记住,因为在部署的时候,配置数据库时名字要和这保持一致.数据库类型选择相应的类型,数据源URL默认不是本机,需要修改,当然如果在其他机器上需要填写相应的IP地址,后面填写相应的数据库名字.下面填写数据用户名和密码.完成之后回到数据源窗口,选择刚创建的数据源,点击连接,数据源变色说明连接成功。.关闭窗口. (3)配置数据集创建报表 选择文件-新建报表,打开新建报表向导,填写数据源,下一步 注意数据源的名字也要保持一致,点击 下一步,按着提示进行下一步就可以, 最后点击生成网格报表,报表生成了. 报表的表头可以修改为中文 完成之后,启动快逸报表的服务,将报表保存发布. 四个图标左边第三个是进行发布的,点击会提示进行保存报表,按提示进行保存.之后可以点击IE图标进行预览. 三. 在J2EE中部署快逸报表 在已有的 J2EE 项目中使用刚才创建的报表,需要如下步骤: (1) 导入 jar 包和相关文件 (a)将快逸报表安装目录\quieeReport\webapps\quiee\WEB-INF\lib中的 jar 包导入项目,并且导入所需要的mysql驱动包. (b)将\quieeReport\webapps\quiee\WEB-INF 目录下的 reportConfig.xml,runqianReport4.tld,runqianReportLog.properties 复制到项目的 WEB-INF 目录 (c)将\quieeReport\webapps\quiee 目录下的 j2re-1_4_1-windows-i586-i.exe,Myerror.jsp,myInputError.jsp, runqianReport4Applet.jar 和 images 目录(用于工具按 钮的图片可自选)复制到项目的 WebRoot 目录下。 (2) 修改web.xml文件 在 web.xml 文件中增加如下内容: <servlet> <servlet-name>SetContextServlet</servlet-name> <servlet-class>com.runqian.util.webutil.SetContextServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet> <servlet-name>reportServlet</servlet-name> <servlet-class>com.runqian.report4.view.ReportServlet</servlet-class> <init-param>     <param-name>configFile</param-name> <param-value>/WEB-INF/reportConfig.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>reportServlet</servlet-name> <url-pattern>/reportServlet</url-pattern> </servlet-mapping> (3) 创建jsp文件 可以直接使用\quieeReport\webapps\quiee\reportJsp目录下的 showReport.jsp和 toolbar.jsp 文件。其中 showReport.jsp 用于显示报表,toolbar.jsp 用于显示工具按钮。 (4) 在项目中导入报表文件 在上面发布报表的路径下找到报表文件,将生成的.raq 报表文件导入项目。 (5) 添加授权文件 复制quieeReport\webapps\quiee\WEB-INF\classes目录下的授权文件,根据使用的操作系统进行选择, 到项目的 WebRoot 目录, 可能需要修改 reportConfig.xml 文件中的部分内容. 如果你用的不是window系统,更改成与您对应的授权的文件.特别注意的是”/”反斜杠符号 ,拷贝过来的文件里原本是没有的 (6) 修改reportConfig.xml文件 在其中添加如下配置内容,主要用于数据库的连接,需要主要的地方是name参数,需要跟报表文件的数据源名称一致. <!-- 配置快逸加载数据时候的datasource --> <jdbc-ds-configs> <jdbc-ds-config> <name>mysql</name> <db-type>mysql</db-type> <connection-url> jdbc:mysql://localhost:3306/test </connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>root</user-name> <password>123</password> <db-charset>gbk</db-charset> <client-charset>gbk</client-charset> <extend-properties></extend-properties> </jdbc-ds-config> </jdbc-ds-configs> 注意的地方: 这个地方一定要和制作报表时候的数据源名字一致, (7) 访问报表 发布上述 J2EE 项目,启动 tomcat,访问报表的 url 地址 为: 项目名称/reportJsp/showReport.jsp?raq=/报表名称.raq 就可以看到我之前做的报表,这个时候很多人会发现出现找不到报表配置文件的错误,而且这个问题也困扰了我很久,网上找了资料,按其操作并没有解决,经过又查找资料,终于找到问题根源,在于jar包的问题,其中一个很重要的jar包---webutil.jar,快逸报表自身带的jar是不能用的,本人所用版本这个jar包为3.6kb,替换成一个网上找打一个新的4.05kb大小的webutil.jar后,问题解决了.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值