如何编译ireport的源码

如何编译ireport的源码,第1张

这一系列的文章大概这样安排:前面两篇先对iReport和JasperReport进行简单的介绍,目的是把值得注意的地方提一下,免得后来者少走弯路。后面的几个文章将详细介绍一个使用Struts+Hibernate+Spring+iReport+JasperReport+Oracle联合报表(两个父子表联合)的设计过程,以及交叉表的设计过程。
下面先是iReport的简单介绍,希望很多地方能通过一两句话就减少你大半天的摸索。
第一节.准备工作
首先要做的事情,是到官方网站>可以。
第一步先确定纸张的大小如A4纸直接选就行了A2A3一样的,但还会在这种情况这种纸没有选择的怎么办,比如那种代小孔的纸279x241mm和宽一点的279x381mm的纸怎么办呢,iReprot中设计一个文件会生成相应的xml文件。

1首先下载所需要的工具和架包。这里不在多说了。2这里只介绍几个难点。1)用ireport创建完成jrxml文件后,到ireport的安装目录找到相应的jasper文件,然后放到项目的一个目录中。(由于让程序每次都编译jrxml很浪费时间,再说模板也不容易改变,建议只编译一次就OK)2)使用代码如下Session session = HibernateUtilcurrentSession();
Connection con = sessionconnection(); //得到链接
Statement stmt = concreateStatement();
ResultSet rs = stmtexecuteQ ry("select from applications_list where app_id='" +appId+"'"); //用数据集传入带参数的SQL语句
Systemoutprintln("select from applications_list where appl_list_id='" +appId+"'");
String appPath = req stgetSession()getServletContext()getRealPath("/"); //得到以便于好的jasper文件
if (appPathlastIndexOf("\\") != appPathlength() - 1)appPath += "\\";
String reportFileName = appPath+ "jasper\\untitled_report_1jasper";
Map parameters = new HashMap();
parametersput("Title", "设备申请列表");//注意可以有很多个参数
JasperPrint jasperPrint = JasperFillManagerfillReport(reportFileName, parameters, new JRResultSetDataSource(rs));
JRRtfExporter exporter = null;
exporter = new JRRtfExporter();
responsesetContentType("text/html; charset=UTF-8");
responsesetContentType("application/msword");
String applicatiosname = ToUTF8toUtf8String("设备申请单"); //处理下载后文件名中文问题
responsesetHeader("Content-disposition","attachment;filename="+applicatiosname+"doc");
exportersetParameter(JRExporterParameterCHARACTER_ENCODING, "UTF-8");
exportersetParameter(JRExporterParameterJASPER_PRINT, jasperPrint);
exportersetParameter(JRExporterParameterOUTPUT_STREAM, responsegetOutputStream());
exporterexportReport(); 返回字符编码UTF-8 /
p lic static String toUtf8String(String s) {
StringBr sb = new StringBr();
for (int i = 0; i < slength(); i++) {
char c = scharAt(i);
if (c >= 0 && c <= 255) {
sbappend(c);} else {byte[] b;try {b = CharactertoString(c)getBytes("UTF-8");
} catch (Exception ex) {
//Systemoutprintln(ex);


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13353263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存