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

来源:互联网 发布:ubuntu部署openstack 编辑:程序博客网 时间:2024/06/03 17:12

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

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

  

  预览效果:

  

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//设定边框
       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);
           }
       }
  
       //设置单元格值、字体、字号、颜色、对齐等
       INormalCell inc = 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完整代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<%@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");
       String reportPath = request.getRealPath("/WEB-INF/reportFiles/ccp.rpx");
       ReportDefine rd = (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);
           }
       }
  
       //设置单元格值、字体、字号、颜色、对齐等
       INormalCell inc = 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>

0 0
原创粉丝点击