1、先用ireport工具新建jrxml文件,再制作报表样式!
![](http://dl.iteye.com/upload/attachment/551467/c025a8bb-6647-3b2c-b926-a90089c7a775.jpg)
2、可以通过在控件的右键上设置边框,这是为了产生表格效果
![](http://dl.iteye.com/upload/attachment/551469/9e987aab-de1b-38b7-9d47-e0fe014b7776.jpg)
![](http://dl.iteye.com/upload/attachment/551471/e4e56415-bb24-3a1e-808f-cd301ab6f003.jpg)
好了 初步工作已经有了,我们经过编译后得到了一个jasper文件,那么我们怎么用在J2EE的项目中呢?
3、将下列信息配置在web.xml
<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/servlets/image</url-pattern>
</servlet-mapping>
4、导入运行jasper所要用到的5个jar包,jar包在下面的附件里。可以下载获得
5、配置完成后如何使用呢? 先学习如何在java类中使用 ,生成excel 、html、pdf等格式
package com.test;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
import net.sf.jasperreports.engine.util.JRLoader;
@SuppressWarnings("unchecked")
public class Test3 {
private static final String TASK_PDF = "pdf";
private static final String TASK_XML = "xml";
private static final String TASK_XML_EMBED = "xmlEmbed";
private static final String TASK_HTML = "html";
private static final String TASK_RTF = "rtf";
private static final String TASK_XLS = "xls";
private static final String TASK_JXL = "jxl";
private static final String TASK_CSV = "csv";
private static final String TASK_ODT = "odt";
private static final String file = "D:\\workspase\\reportTest\\WebRoot\\report\\report3.jasper";
private static final String exportFilePath = "f:\\report3";
private static List getDataList() {
List list = new ArrayList();
for (int i = 0; i < 5; i++) {
Map dataList = new HashMap();
dataList.put("serialNo", "995400116528" + i);
dataList.put("reqDate", "2009111" + i);
dataList.put("businessType", "认购");
dataList.put("productCode", "111409015" + i);
dataList.put("productName", "2009年汇理财稳利系列F7计划");
dataList.put("currencyType", "USD钞");
dataList.put("reqMoney", "5300.00");
dataList.put("transStatus", "正常");
list.add(dataList);
}
return list;
}
private static Map getParameterMap() {
Map parameterMap = new HashMap();
parameterMap.put("CUSTOMER_NAME", "赵六");
parameterMap.put("CUSTOMER_ACCOUNT", "98430100829415");
parameterMap.put("TRANS_BANK", "9502");
parameterMap.put("TRANS_DATE", "20091118");
parameterMap.put("TRANS_OPERATOR", "11001157");
return parameterMap;
}
public static void export(String fileType) {
// 填充报表数据
File reportFile = new File(file);
JasperReport jasperReport = null;
JasperPrint jasperPrint = null;
try {
jasperReport = (JasperReport) JRLoader.loadObject(reportFile
.getPath());
jasperPrint = JasperFillManager.fillReport(jasperReport,
getParameterMap(), new JRBeanCollectionDataSource(
getDataList()));
// 导出报表文件
if (TASK_XLS.equals(fileType)) {
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.TRUE);
exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, exportFilePath + "." + TASK_XLS);
exporter.exportReport();
} else if (TASK_HTML.equals(fileType)) {
JRHtmlExporter export = new JRHtmlExporter();
export.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
export.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,exportFilePath + "." + TASK_HTML);
export.exportReport();
}else if(TASK_PDF.equals(fileType)){
JRPdfExporter export = new JRPdfExporter();
export.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
export.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,exportFilePath + "." + TASK_PDF);
export.exportReport();
}
} catch (JRException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
export("xls");
}
}
如何在jsp中使用呢? 如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.util.*" %>
<%@ page import="net.sf.jasperreports.engine.export.*" %>
<%@ page import="net.sf.jasperreports.j2ee.servlets.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@page import="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
Map parameterMap = new HashMap();
parameterMap.put("ItemProjecID", "10010");
parameterMap.put("SupervisionID", "1000000001");
parameterMap.put("ConformityCode", "201109102218");
//提供jasper所需要的parameters
List list = new ArrayList();
Map dataList = new HashMap();
dataList.put("workAreaName", "995400116528");
dataList.put("UnitProjectType", "2009111");
dataList.put("UnitProjectAddress", "test");
dataList.put("UnitProjectSubType", "111409015");
dataList.put("Scale", "2009年汇理财稳利系列F7计划");
dataList.put("BargainStartDate", "USD钞");//提供jasper所需要的Fileds
list.add(dataList);
try {
File reportFile = new File(application.getRealPath("/report/bj.jasper"));
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
parameterMap, new JRBeanCollectionDataSource(list));
JRHtmlExporter exporter = new JRHtmlExporter();
session.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "./servlets/image?image=");
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.exportReport();
} catch (Exception e) {
e.printStackTrace();
}
%>
</body>
</html>
搞定!
附件中是一个小例子,大家可以参考!
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0055/1467/c025a8bb-6647-3b2c-b926-a90089c7a775-thumb.jpg)
- 大小: 224.3 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0055/1469/9e987aab-de1b-38b7-9d47-e0fe014b7776-thumb.jpg)
- 大小: 23 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0055/1471/e4e56415-bb24-3a1e-808f-cd301ab6f003-thumb.jpg)
- 大小: 24.5 KB
分享到:
相关推荐
jsp 调用 jasper 是一种常见的报表生成方式,jasper 报表工具可以与 jsp 集成,以生成动态的报表。下面是 jsp 调用 jasper 的一些关键知识点: 1. iReport 设置默认语言:在 iReport 中,语言设置可以根据机器的 ...
利用ireport制作jasper jsp输出excel报表,pdf报表,html报表 代码简单易懂
内含需要的全部jar,注意.jrxml language 选Java 。可以实现简单报表的生成。如有不足,多多交流,谢谢。
jasperreports-3.1.0,Java的报表开发,jsp开发报表使用。
因为项目中 有用的ireport 又...自己研究了和试了很长时间 才搞定 ,希望能省去大家的时间所以决定写点东西上在csdn 上供大家下载 参考 也希望大家多提意见 本资源下载不需要积分 希望大家多提供不需要资源分的资源
网上资料都是3.0的打印,但是我们用4.5做的报表模板用3.0的库去打印难免会出现问题,比如说4.5中有Table组件而3.0版本中没有,如果使用3.0的库去打印必然是出现问题的。为解决这一问题精心设计了这个小程序。 程序很...
在实际开发中,我们可以使用 jasper 代码来调用 iReport 报表文件。例如,在 jsp 文件中,我们可以使用以下代码来调用 iReport 报表文件: ``` *" pageEncoding="UTF-8"%> ... //处理分页的代码 ... ``` iReport ...
这是自己总结的jsp里面应用ireport报表和js页面应用js里面使用ireport报表的文档,适合初学者。主要介绍ireport的使用过程和如何编译文件以及需要的jar包
jasperReport ireport文档资料 iReport的中文教程 jaspersoft-studio-user-guide_0.pdf jsp调用jasper JasperReport创建多个子报表