jasperreport_ireport集成与使用

本文介绍了如何将JasperReport与项目集成,详细步骤包括下载相关项目包,添加jar依赖,编写servlet类来处理不同类型的报表输出,如HTML、PDF、XLS和RTF格式,并提供了web.xml中的servlet配置。
摘要由CSDN通过智能技术生成

Jasperreport是一个功能强大的报表类库,可以利用ireport设计报表的最终显示内容和页面。此文实现jasperreport与项目的集成,利用此方式在以后增加报表时,只需做二部分工作,一是通过ireport 设计报表,二是针对报表所需的参数编写jsp页面。

1 下载相关项目包

iReport-nb-3.1.3.zip

jasperreports-3.1.4-project.zip

 

2 把相关jar包加入web-inflib目录下

itext-1.3.jar

iTextAsian.jar

jasperreports-1.3.3.jar

jxl.jar

poi-3.0.1-FINAL-20070705.jar

poi-contrib-3.0.1-FINAL-20070705.jar

poi-scratchpad-3.0.1-FINAL-20070705.jar

 

 

3 编写相关servlet

package com.web.servlet;

 

import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Set;

import java.util.Map.Entry;

 

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.shane.areaportal.web.util.ConnectionFactory;

import net.sf.jasperreports.engine.JRExporterParameter;

import net.sf.jasperreports.engine.JasperCompileManager;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.export.JRHtmlExporter;

import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;

import net.sf.jasperreports.engine.export.JRPdfExporter;

import net.sf.jasperreports.engine.export.JRRtfExporter;

import net.sf.jasperreports.engine.export.JRXlsAbstractExporter;

import net.sf.jasperreports.engine.export.JRXlsAbstractExporterParameter;

import net.sf.jasperreports.engine.export.JRXlsExporter;

import net.sf.jasperreports.engine.util.JRLoader;

import net.sf.jasperreports.j2ee.servlets.BaseHttpServlet;

import net.sf.jasperreports.j2ee.servlets.ImageServlet;

 

 

public class IreportServlet extends BaseHttpServlet {

 

         public void doGet(HttpServletRequest request, HttpServletResponse response)

                            throws ServletException, IOException {

                  

                   this.doPost(request, response);

         }

 

         public void doPost(HttpServletRequest request, HttpServletResponse response)

                            throws ServletException, IOException {

                  

                   response.setContentType("text/html;charset=GBK");

                   ServletContext context = this.getServletConfig().getServletContext();

                   String type = request.getParameter("type");

                   JasperPrint jasperPrint = null;

                  JRXlsAbstractExporter xlsexporter;

                   JRPdfExporter pdfexporter;

                   JRRtfExporter rtfexporter;

                   List list = null;    

                    

                   //判断HTML格式报表

                   if("HTML".equals(type)||"".equals(type)||type==null) {

                   PrintWriter out = response.getWriter();                          

                   jasperPrint = (JasperPrint)request.getSession().getAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE);

                   int pageIndex = 0;

                   int lastPageIndex = 1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值