JAVA开发一个合并单元格报表,纵向同值单元格的合并
纵向同值单元格的合并
客户要求:对报表的展现格式进行合并如:在报表展现后,要求把相邻值相同的单元格进行合并,这样看数据会更加直观一些,快逸报表支持合并单元格,但只是在报表复杂报表设计" target="_blank" class="quieeLink1">设计时在设计器中进行合并,或者说通过快逸的group函数来实现,但有些单元格要在计算后才能知道,
第一步:建立报表,如图一:
图一
第二步:Api合并单元格
报表展现时要求将最后一列值相同的单元格进行动态合并,下面介绍下该需求的实现方法。
快逸的iReport对象为报表计算后的结果对象,通过对该对象的灵活使用能很好实现该需求:
request.setCharacterEncoding( “GBK” );
//1、读取报表模板
InputStream is = application.getResourceAsStream(“/reportFiles/group.raq”);
ReportDefine rd = (ReportDefine)ReportUtils.read(is);
Context context = new Context();
Engine e = new Engine( rd, context );
IReport report = e.calc();
int startRow,endRow,startCol,endCol;
int i,j,k;
startRow=1;
endRow=1;
startCol=1;
endCol=1;
int rownum=report.getRowCount();
int colnum=report.getColCount();
for(i=1;i
for(j=1;j
Object s1=report.getCell(i,(short)j).getValue();
Object s2=report.getCell(i+1,(short)j).getValue();
if(s1!=null && s1==s2){
startRow=i;
endRow=i+1;
startCol=j;
endCol=j;
// continue;
for(k=i+2;k
System.out.println(“————–”);
Object s3=report.getCell(k,(short)j).getValue();
// System.out.println(“s3==========”+s3.toString()+”kkkk=”+(k));
if(s1==s3){
endRow=k;
}
else{
k–;
System.out.println(“k之 “+(k));
break;
// continue;
}
}
Area area=new Area(startRow,(short)startCol,endRow,(short)endCol);
if(!report.getCell(startRow,(short)startCol).isMerged()){
System.out.println(“startRow=”+(startRow)+”endRow=”+(endRow)+”startCol=”+(startCol)+”endCol=”+(endCol));
ReportUtils.mergeReport(report,area);
}
System.out.println(“合并完成“);
}
}
}
String rptName = “RPT_”+Double.toString(Math.random());
//3、计算报表
request.setAttribute(rptName,report);
%>
” srcType=”defineBean”
needPrint=”yes”
needSaveAsExcel=”yes”
/>
第三步:利用jsp发布报表
JAVA开发一个合并单元格报表,纵向同值单元格的合并相关推荐
- java开发一个简单的通讯录
java开发一个简单的通讯录 ArrayList的综合应用 import java.util.*; public class ContactNote{static Scanner sc=new Sca ...
- 如何用java开发一个网站?
问题:如何用java开发一个网站? 下载了最新的JDK软件.最新的Eclipse.数据库mysql以及tomcat.struts但是不知道怎么连接起来,在数据库连接的时候mysql-connector ...
- java linux 管理系统_用Java开发一个本地服务管理软件
使用Java开发一个本机服务管理程序,能够控制本机Tomcat.Apache服务的开启和关闭,图形界面控制.用户可以自己扩展其他服务,用来学习图形界面编程.多线程.事件响应等都不错. 一.最终界面 先 ...
- 编程语言用 Java 开发一个打飞机小游戏(附完整源码)
编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...
- dataframe两个表合并_DAXSQLPython实现报表项目存在串行的财务报表合并
点击"数字化审计",可以关注哦! 开篇啰嗦话 在前文"Dax实战-多年财务报表项目存在串行的合并"中,我为你介绍了多年财务报表合并过程中问题的起因和解决串 ...
- java开发页面超链接样式_Web报表中如何设置超链接的样式
Web报表中如何设置超链接的样式. 超链接是WEB项目中经常会用到的功能,如实现数据钻取,数据详细说明等.在WEB页面中,各种属性的数据是很多的,怎样对有超链接的数据与普通数据进行区别展现,让用户能一 ...
- 用Java开发一个停车场系统
作者:亰 blog.csdn.net/weixin_43951778/article/details/109643951 现开发一个停车系统,用户根据车位停车 1)车主查看现在有无车位(最多100个车 ...
- 用java开发一个简单的安卓程序,Android NDK开发简单程序分享(Hello Word!)
在之前的博客中已经为大家介绍了,如何在win环境下配置DNK程序,本篇我将带大家实现一个简单的Hello jni程序,让大家真正感受一下NDK开发的魅力.这里我们选择使用C+JAVA开发Android ...
- Java开发一个家庭收支记账软件
4.请开发一个家庭收支记账软件 界面及操作过程如下所示: -----------------家庭收支记账软件----------------- 1 收支明细 2 登记收入 3 登记支出 4 退 出 请 ...
- 使用java开发一个股票交易及量化投资回测分析系统
经过近两年的研究和学习,我使用java开发(也使用了部分python,数据源:聚宽)出了一个股票交易及量化投资回测分析系统,将于近期陆续推出系列文章,向大家介绍一下整个开发过程,当整个系列文章都完成后 ...
最新文章
- PLSQL基础语法二-流程控制,循环
- 如何在ppt下面加入讲解内容_学术展示系列:学术PPT教程(下)内容 讲解
- Oracle数据库的视图
- html5新特性:异步上传文件
- springboot能用python吗_Python与springboot的对接
- 用Html 和 Css来实现一个小小案例
- 普通函数被类引用为友元函数
- POJ-2414 Phylogenetic Trees Inherited 状态压缩,位运算处理集合操作
- python的try和except_关于python:修复try和except中的无效语法错误
- Python练习-一辆购物车的寂寞都是Alex的错
- 修改 xweibo 的memcache代码,让xweibo支持wincache,加快xweibo速度
- vue:ali 阿里矢量图库 ico
- 阿里云centos7.0安装java环境
- 以聚合数据为例,详细说明API接口使用方法
- 命令行快速切换到指定路径
- (数据结构)二叉树中序遍历
- python中开方和平方
- Frodo and pillows CodeForces - 760B
- WIN2016多用户远程桌面登录(RDPWrapper方案,非远程桌面服务的方案)
- 包装类-自动装箱、拆箱