码迷,mamicode.com
首页 > Windows程序 > 详细

集算报表通过API修改单元格属性

时间:2015-04-15 15:04:42      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

  有时需要在程序中动态修改已做好报表的单元格属性,包括边框、字号、颜色、对齐方式等。润乾集算报表提供了丰富的API,开发人员可以通过提供的接口快速修改报表单元格属性。

  修改单元格属性主要修改报表定义ReportDefine,比如下面已经做好的订单信息表如下:

技术分享

  预览效果:

技术分享

  我们通过代码修改该报表单元格属性:

//设定边框
       for (int i = 2; i <=3; i++) {
           for (int j = 1; j <=6; j++) {
              rd.setBBColor(i,(short)j, -6710887); //设定下边框线色
              rd.setBBStyle(i,(short)j, INormalCell.LINE_SOLID); //设定下边框类型
              rd.setBBWidth(i,(short)j, (float)0.75); //设定下边框线粗
              //左边框
              rd.setLBColor(i,(short)j, -6710887);
              rd.setLBStyle(i,(short)j, INormalCell.LINE_SOLID);
              rd.setLBWidth(i,(short)j, (float)0.75);
              //右边框
              rd.setRBColor(i,(short)j, -6710887);
              rd.setRBStyle(i,(short)j, INormalCell.LINE_SOLID);
              rd.setRBWidth(i,(short)j, (float)0.75);
              //上边框
              rd.setTBColor(i,(short)j, -6710887);
              rd.setTBStyle(i,(short)j, INormalCell.LINE_SOLID);
              rd.setTBWidth(i,(short)j, (float)0.75);
           }
       }
 
       //设置单元格值、字体、字号、颜色、对齐等
       INormalCellinc = rd.getCell(1, (short) 1);
       inc.setValue("订单信息表"); //设置单元格值
       inc.setFontName("宋体"); //设置字体
       inc.setFontSize((short) 20); //设置字号
       inc.setForeColor(-16777216);//设置前景色
       inc.setHAlign(INormalCell.VALIGN_MIDDLE);//设置横向对齐方式
       inc.setHAlign(INormalCell.HALIGN_CENTER);//设置纵向对齐方式

   报表定义修改后,使用defineBean方式发布报表:

     request.setAttribute("reportDefine",rd);

 

   修改后的报表发布后效果如下:

技术分享

可以看到,增加了报表标题(内容、字体、颜色、对齐方式等),增加了单元格边框,更多修改单元格属性的方法可以参考《润乾集算报表应用开发手册》。

 

 

【附】changeCellProperty.jsp完整代码:

<%@page import="com.raqsoft.report.usermodel.INormalCell"%>
<%@ page contentType="text/html;charset=GBK"%>
<%@ taglib uri="/WEB-INF/raqsoftReport.tld"prefix="report"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="com.raqsoft.report.usermodel.Context"%>
<%@ page import="com.raqsoft.report.model.ReportDefine"%>
<%@ page import="com.raqsoft.report.util.ReportUtils"%>
<%@page import="com.raqsoft.report.usermodel.INormalCell"%>
 
 
<html>
<link type="text/css"href="css/style.css" rel="stylesheet" />
<body topmargin=0 leftmargin=0 rightmargin=0 bottomMargin=0>
    <%
       request.setCharacterEncoding("GBK");
       StringreportPath = request.getRealPath("/reportFiles/ccp.rpx");
       ReportDefinerd = (ReportDefine) ReportUtils.read(reportPath);
       //设定边框
       for (int i = 2; i <=3; i++) {
           for (int j = 1; j <=6; j++) {
              rd.setBBColor(i,(short)j, -6710887); //设定下边框线色
              rd.setBBStyle(i,(short)j, INormalCell.LINE_SOLID); //设定下边框类型
              rd.setBBWidth(i,(short)j, (float)0.75); //设定下边框线粗
              //左边框
              rd.setLBColor(i,(short)j, -6710887);
              rd.setLBStyle(i,(short)j, INormalCell.LINE_SOLID);
              rd.setLBWidth(i,(short)j, (float)0.75);
              //右边框
              rd.setRBColor(i,(short)j, -6710887);
              rd.setRBStyle(i,(short)j, INormalCell.LINE_SOLID);
              rd.setRBWidth(i,(short)j, (float)0.75);
              //上边框
              rd.setTBColor(i,(short)j, -6710887);
              rd.setTBStyle(i,(short)j, INormalCell.LINE_SOLID);
              rd.setTBWidth(i,(short)j, (float)0.75);
           }
       }
 
       //设置单元格值、字体、字号、颜色、对齐等
       INormalCellinc = rd.getCell(1, (short) 1);
       inc.setValue("订单信息表"); //设置单元格值
       inc.setFontName("宋体"); //设置字体
       inc.setFontSize((short) 20); //设置字号
       inc.setForeColor(-16777216);//设置前景色
       inc.setHAlign(INormalCell.VALIGN_MIDDLE);//设置横向对齐方式
       inc.setHAlign(INormalCell.HALIGN_CENTER);//设置纵向对齐方式
       
       request.setAttribute("reportDefine",rd);
       
    %>
    <jsp:include page="toolbar.jsp" flush="false" />
    <table id="rpt" align="center"width=100% height=100%>
       <tr>
           <td align=center valign=top height=100%>
           <report:html name="report1"
              funcBarLocation="" 
              srcType="defineBean" 
              beanName="reportDefine"
              exceptionPage="/reportJsp/jsp/myError.jsp" /></td>
       </tr>
    </table>
 
</body>
</html>


本文出自 “高性能报表数据计算” 博客,请务必保留此出处http://report5.blog.51cto.com/8028595/1632854

集算报表通过API修改单元格属性

标签:

原文地址:http://report5.blog.51cto.com/8028595/1632854

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!