iReport web 报表开发.doc_第1页
iReport web 报表开发.doc_第2页
iReport web 报表开发.doc_第3页
iReport web 报表开发.doc_第4页
iReport web 报表开发.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 安装与使用iReport 不需安装,直接拷贝就可以使用运行iReport.bat 启动iReport。1.2 新建报表新建报表pdfUnitList.xml1.3 配置数据库1、在datasource中的菜单。1.4 报表字体设置选择view菜单的Report font选项,点击new后,如下图进行调整:添加完new 字体后,选择报表元素(箭头1)按右键在窗口中选择FONTReport font选中新添加的字体。1.5 报表参数设置1.6 报表查询设置在Report SQL query 中写入报表查询条件,注意参数一定要写入默认值。按OK键结束。1.7 编译并测试报表编译成功后执行execute report(using active conn)项如果出现以下结果,表示报表正常。第2章 iReport报表在web项目的应用2.1 iReport制作的报表在web项目的安装1、 将iReport制作的报表编译后的jpdfUnitList.xml与jpdfUnitList.asper文件,拷贝到WEB-INF新建的文件夹/report/pdf/unit 下。2、 拷贝iReport的lib下的所有文件拷贝的WEB-INF/lib 下。2.2 新增报表模块1、 建立包路径(com.qhtf.apps.basicinfo.rp)2、 在路径下建如下文件(1) IJReport.javapackage com.qhtf.apps.basicinfo.rp;import java.sql.Connection;import java.util.Map;public interface IJReport public Map getParamMap(); public String getSourceFile(); public String getDestFile(); public Connection getConnection();(2)AbstractJReportPrinter.javapackage com.qhtf.apps.basicinfo.rp;public abstract class AbstractJReportPrinter public abstract void print()throws Exception;(3) JReportPrinterFactory .javapackage com.qhtf.apps.basicinfo.rp;public class JReportPrinterFactory private AbstractJReportPrinter abstractJReportPrinter; private static JReportPrinterFactory jReportPrinterFactory; private JReportPrinterFactory(AbstractJReportPrinter abstractJReportPrinter) this.abstractJReportPrinter = abstractJReportPrinter; public static JReportPrinterFactory getInstance(AbstractJReportPrinter abstractJReportPrinter) return jReportPrinterFactory = new JReportPrinterFactory(abstractJReportPrinter); public void print()throws Exception abstractJReportPrinter.print(); (4) JreportUtil.javapackage com.qhtf.apps.basicinfo.rp;public class JReportUtil public static void printToPdf(IJReport report)throws Exception JReportPdfPrinter jReportPdfPrinter= new JReportPdfPrinter(report); JReportPrinterFactory.getInstance(jReportPdfPrinter).print(); public static void printToHtml(IJReport report)throws Exception JReportHtmlPrinter jReportHtmlPrinter= new JReportHtmlPrinter(report); JReportPrinterFactory.getInstance(jReportHtmlPrinter).print(); public static void printToExcel(IJReport report)throws Exception JReportExcelPrinter jReportExcelPrinter= new JReportExcelPrinter(report); JReportPrinterFactory.getInstance(jReportExcelPrinter).print(); 2.3 PDF打印2.3.1 修改jsp文件打开/lemis/basicinfo/enterpriseList.jsp,在文件最后加入 function printPdf() document.all. printPdfForm.unitID.value = document.all.queryEmployerForm.aab003.value; document.all. printPdfForm.unitName.value = document.all.queryEmployerForm.aab004.value; document. printPdfForm.submit(); 2.3.2 修改struts配置文件打开/WEB-INF/struts-basicinfo.xml,在文件中加入 forward name=unitInfoList 2.3.3 PDF打印实现(5) JreportPdfImpl.javapackage com.qhtf.apps.basicinfo.rp;import java.sql.Connection;import java.util.Map;public class JReportPdfImpl implements IJReport private Map paramMap; private String sourceFile; private String destFile; private Connection connection; public JReportPdfImpl(Map paramMap,String sourceFile,String destFile,Connection connection) this.paramMap=paramMap; this.sourceFile=sourceFile; this.destFile=destFile; this.connection=connection; public Map getParamMap() return paramMap; public String getSourceFile() return sourceFile; public String getDestFile() return destFile; public Connection getConnection() return connection; (6) JreportPdfPrinter.javapackage com.qhtf.apps.basicinfo.rp;import java.sql.Connection;import java.util.Map; import mons.op.HibernateSession;import net.sf.jasperreports.engine.JasperExportManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;public class JReportPdfPrinter extends AbstractJReportPrinter private IJReport report; public JReportPdfPrinter(IJReport report) this.report=report; public void print()throws Exception Connection conn=null; try conn=report.getConnection(); /设定传给jasper文件的参数 Map parameters = report.getParamMap(); /填充报表内容 JasperPrint jasperPrint = JasperFillManager.fillReport(report.getSourceFile(), parameters, conn); /生成PDF文件 JasperExportManager.exportReportToPdfFile(jasperPrint, report.getDestFile(); catch (Exception ex) ex.printStackTrace(); throw new Exception(打印报表时出错!); finally /关闭连接 if (null != conn) HibernateSession.closeSession(); 2.3.4 新增PDF打印action(7) PrintAction.javapackage com.qhtf.apps.basicinfo.rp;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import mons.actions.BizDispatchAction;import mons.log.LogHelper;public abstract class PrintAction extends BizDispatchAction / 定义log private LogHelper log = new LogHelper(this.getClass(); public abstract ActionForward print(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception; (8) PrintPdfAction.javapackage com.qhtf.apps.basicinfo.rp;import java.sql.Connection;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.lbs.apps.recommendation.consigninvite.rp.PrintAction;import mons.op.HibernateSession;public class PrintPdfAction extends PrintAction public ActionForward print(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception Map parameters=new HashMap(); String unitID = (String) request.getParameter(unitID); String unitName = (String) request.getParameter(unitName); parameters.put(p_unitID, unitID); parameters.put(p_unitName, unitName); String sourceFilePrefix=request.getParameter(sourceFile); String sourceFile=getSourceFile(sourceFilePrefix); String destFilePrefix=request.getParameter(destFile); String destFile=getDestFile(destFilePrefix); Connection conn=HibernateSession.currentSession().connection(); IJReport jReport=new JReportPdfImpl(parameters,sourceFile,destFile,conn); JReportUtil.printToPdf(jReport); return mapping.findForward(unitInfoList); private String getSourceFile(String sourceFilePrefix) /上下文路径 String contextPath = this.getServlet().getServletContext().getRealPath(/); String sourceFile=contextPath+/WEB-INF/report/pdf/unit/+sourceFilePrefix+.jasper; return sourceFile; private String getDestFile(String destFilePrefix) /上下文路径 String contextPath = this.getServlet().getServletContext().getRealPath(/); String destFile=contextPath+/reports/unit/pdf/+destFilePrefix+.pdf; return destFile; 2.4 导出EXCEL报表2.4.1 修改jsp文件打开/lemis/basicinfo/enterpriseList.jsp,在文件最后加入 function printExcel() document.all. printExcelForm.unitID.value = document.all.queryEmployerForm.aab003.value; document.all. printExcelForm.unitName.value = document.all.queryEmployerForm.aab004.value; document. printExcelForm.submit(); 2.4.2 修改struts配置文件打开/WEB-INF/struts-basicinfo.xml,在文件中加入 2.4.3 导出EXCEL报表实现(9)JreportExcelImpl.Java package com.qhtf.apps.basicinfo.rp;import java.sql.Connection;import java.util.Map;public class JReportExcelImpl implements IJReport private Map paramMap; private String sourceFile; private String destFile; private Connection connection; public JReportExcelImpl(Map paramMap,String sourceFile,String destFile,Connection connection) this.paramMap=paramMap; this.sourceFile=sourceFile; this.destFile=destFile; this.connection=connection; public Map getParamMap() return paramMap; public String getSourceFile() / TODO Auto-generated method stub return sourceFile; public String getDestFile() / TODO Auto-generated method stub return destFile; public Connection getConnection() / TODO Auto-generated method stub return connection; (10) JreportExcelPrinter.javapackage com.qhtf.apps.basicinfo.rp;import java.io.File;import java.sql.Connection;import java.util.Map;import net.sf.jasperreports.engine.JRExporterParameter;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.export.JRXlsExporter;import net.sf.jasperreports.engine.export.JRXlsExporterParameter;import mons.op.HibernateSession;public class JReportExcelPrinter extends AbstractJReportPrinter private IJReport report; public JReportExcelPrinter(IJReport report) this.report=report; public void print()throws Exception Connection conn=null; try conn=report.getConnection(); /设定传给jasper文件的参数 Map parameters = report.getParamMap(); /填充报表内容 JasperPrint jasperPrint = JasperFillManager.fillReport(report.getSourceFile(), parameters, conn); /生成Excel文件 File destFile = new File(report.getDestFile();JRXlsExporter exporter = new JRXlsExporter();exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString();exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);exporter.exportReport(); catch (Exception ex) ex.printStackTrace(); throw new Exception(打印报表时出错!); finally /关闭连接 if (null != conn) HibernateSession.closeSession(); 2.4.4 导出EXCEL报表action(11) PrintExcelAction.javapackage com.qhtf.apps.basicinfo.rp;import java.sql.Connection;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.lbs.apps.recommendation.consigninvite.rp.PrintAction;import mons.op.HibernateSession;public class PrintExcelAction extends PrintAction public ActionForward print(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception response.setContentType(application/vnd.ms-excel;charset=GBK); Map p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论