创建程序报表

编辑
文档创建者:印然 (67260 )     浏览次数:4192次     编辑次数:8次     最近更新:jiangsr 于 2019-03-12     

目录:

1. 描述编辑

由上一小节我们可以了解到所谓的网络报表就是指实现了Reportlet接口的类,可以在Web浏览器端直接访问,展示出我们通过程序设计的报表。

上一节中我们是直接读取cpt模板文件生成的网络报表,为了您更加理解网络报表的原理,该节我们介绍如何在程序中创建程序网络报表。
实例:新建一个报表,在A1单元格内插入FineReport这个字符串,对字符串进行格式设置,发布后通过浏览器来浏览,最终效果如下:
222

2. 实现步骤编辑

2.1 新建报表
新建CreateReportletDemo类,继承com.fr.web.Reportlet这个抽象类,并实现createReport(ReportletRequest arg0)方法,最终返回一个WorkBook。
//创建一个WorkBook工作薄,在工作薄中插入一个WorkSheet WorkBook workbook = new WorkBook(); WorkSheet sheet1 = new WorkSheet(); workbook.addReport(sheet1); return workbook;
2.2 插入单元格
由API概述可以知道,worksheet就是由单元格组成的,因此我们往创建的sheet1中插入单元格,编辑单元格内容,并设置单元格格式
创建一个单元格
new DefaultCellElement(int column, int row, Object value)
列号为0,行号为0,即A1单元格,值为FineReport,,并设置单元格的样式
TemplateCellElement CellA1 = new DefaultTemplateCellElement(0, 0, "FineReport"); Style style = Style.getInstance();
字体为Arial,粗体,字号20,红色
FRFont frfont = FRFont.getInstance("Arial", 1, 20.0F, Color.red); style = style.deriveFRFont(frfont); CellA1.setStyle(style); sheet1.addCellElement(CellA1);
设置第0列列宽为150px,第0行行高为35px
sheet1.setColumnWidth(0, new OLDPIX(150.0F)); sheet1.setRowHeight(1, new OLDPIX(35.0F));
这样一张最简单的程序网络报表便形成了,完整代码如下:
//创建程序报表 package com.fr.demo; import com.fr.base.Style; import com.fr.general.FRFont; import com.fr.main.TemplateWorkBook; import com.fr.main.impl.WorkBook; import com.fr.report.cell.DefaultTemplateCellElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.worksheet.WorkSheet; import com.fr.stable.unit.OLDPIX; import com.fr.web.core.Reportlet; import com.fr.web.request.ReportletRequest; import java.awt.Color; import java.util.Map; public class CreateReportletDemo extends Reportlet { public TemplateWorkBook createReport(ReportletRequest arg0) { //创建一个WorkBook工作薄,在工作薄中插入一个WorkSheet WorkBook workbook = new WorkBook(); WorkSheet sheet1 = new WorkSheet(); TemplateCellElement CellA1 = new DefaultTemplateCellElement(0, 0, "FineReport"); Style style = Style.getInstance(); FRFont frfont = FRFont.getInstance("Arial", 1, 20.0F, Color.red); style = style.deriveFRFont(frfont); CellA1.setStyle(style); sheet1.addCellElement(CellA1); sheet1.setColumnWidth(0, new OLDPIX(150.0F)); sheet1.setRowHeight(1, new OLDPIX(35.0F)); workbook.addReport(sheet1); return workbook; } @Override public void setParameterMap(Map arg0) { // TODO Auto-generated method stub } @Override public void setTplPath(String arg0) { // TODO Auto-generated method stub } }
2.3 发布并预览
编译源java文件,将生成的CreateReportletDemo.class类保存至应用%FR_HOME%\webapps\webroot\WEB-INF\classes\com\fr\demo下,启动服务器,在浏览器中输入地址http://localhost:8075/webroot/decision/view/report?viewlet=com.fr.demo.CreateReportletDemo,便可以看到我们定义的网络报表了,如下图:
222



附件列表


主题: 二次开发
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?只是浏览 [ 去社区提问 ]