开发报表系统:报表执行
工具/原材料
报表系统软件开发:精细报表7.1.1
尺寸:148.2米平台:窗户
从引擎API的概述中可以看出,报告分为两种情况:模板和结果、尚未执行的工作簿或报告是模板、模板包含数据集、数据列未展开以及公式未计算。执行模板后,将获得结果。
结果中的所有数据列都已展开,因此数据集不再保存在结果中。
模板生成的结果如下
如您所见,生成的结果可以在将参数值传递给模板后执行。
以下是该流程实施步骤的详细描述。
1.实施原则
1.1报告运行环境
首先,您需要定义执行的环境,以便能够正确读取数据库信息。
字符串路径= " D:\ FineReport _ 7.0 \网络报告\网络-信息";
FrContext . SetCurrentenV(NewLocalenv(EnvPath));
开始模块(引擎模块.类. GetName());
1.2阅读模板
模板工作簿工作簿=模板工作簿0 .读取模板工作簿(FRContext.getCurrentEnv()," \ doc \主\参数\参数. CPT ");
1.3注射参数值
/*
*生成参数图,为报告执行注入参数和相应的值
此模板中只有一个参数区域,华北被分配给它
*如果发送请求时传递了参数,则可以通过req.getParameter(名称)获得
*将获得的参数放入map,paraMap.put(paraname,paravalue)
*/
Java . util . MapParamap = new Java . util . hashmap();
ParaMap.put(“地区”、“华北”);
//使用参数映射来执行生成的结果
结果工作簿结果=工作簿. execute(paraMap,NewWriteActor());
1.4使用结果,如导出到excel
执行后,我们可以执行各种操作,如导出到Excel和Pdf文件。
您可以参考相应的章节了解具体的方法,这里将不再详细描述。
文件输出流输出流=新文件输出流(新文件(
" D:\ parameter . xls ");
ExcelExporter = NewExcelExporter();
导出(输出流,结果);
2.实施步骤
2.1可执行代码
package com . fr . io;
import Java . io . file;
import Java . io . FileOutputStream;
importcom.fr.base.FRContext。
import com . fr . base . ModuleContext;
importcom.fr
publicstaticvoidmain(字符串[)参数){
尝试{
//首先,您需要定义执行环境,以便能够正确读取数据库信息。
字符串路径= " D:\ FineReport _ 7.1 \网络报告\网络-信息";
FrContext . SetCurrentenV(NewLocalenv(EnvPath));
开始模块(引擎模块.类. GetName());
//读取模板
模板工作簿工作簿=模板工作簿0 .读取模板工作簿(FRContext.getCurrentEnv()," \ doc \主\参数\参数. CPT ");
/*
*生成参数图,注入参数和相应的值,用于执行报告。此模板中只有一个参数区域,请将华北指定给它
Java . util . MapParamap = new Java . util . hashmap();
ParaMap.put(“地区”、“华北”);
//使用参数映射来执行生成的结果
结果工作簿结果=工作簿. execute(paraMap,NewWriteActor());
//使用导出到excel等结果
文件输出流输出流=新文件输出流(新文件(
" D:\ parameter . xls ");
ExcelExporter = NewExcelExporter();
导出(输出流,结果);
}捕捉(例外){
e . PrintStackTrace();
}
}
}
编译java文件以成功导出Excel。