1、JasperReport和iReport的资源,最新版本可以到下面官方网站得到
iReport官方网站: http://ireport.sourceforge.net JasperReport官方网站: http://jasperreports.sourceforge.net
2、安装 1)、JDK的安装,并配置JAVA_HOME 比如我的JAVA_HOME路径如下: JAVA_HOME D:/Program Files/j2sdk1.4.2_03
? ? ? ? ?2)、由于中文的问题,所以还需要下载:itext-1.02b.jar和iTextAsian.jar包 下载地址:http://itext.sourceforge.net/downloads/iTextAsian.jar 并在CLASSPATH中设置 例如我的CLASSPATH如下: ? ? ? ? ? ? ? ?CLASSPATH ? ? ? ? ? ? ? ?E:/Program Files/Apache Group/Tomcat4.1/webapps/testreport/WEB-INF/lib/itext-1.02b.jar;E:/Program ? ? ? ? ?
? ? ? ? ? ? ? ?Files/Apache Group/Tomcat 4.1/webapps/testreport/WEB-INF/lib/iTextAsian.jar;E:/Program Files/Apache ? ? ?
? ? ? ? ? ? ? ?Group/Tomcat 4.1/webapps/testreport/WEB-INF/lib;D:/tools/iReport0.2.3/lib
3)、iReport的安装iReport只要解压就OK,如果没有安装Ant,可以直接在iReport下的noAnt目录下, 运行startup.bat就可以了,这样iReport就可以启动了
? ? ? ? 4)、JasperReport Jasperreport不需要任何配置,你只需将下载以后的jar包放到classpath下即可 ? ? ? ? 5)、数据库的JDBC驱动包 加入到CLASSPATH中
3、详细资源 ? ? ? ? iReport官方提供了一些关于iReport视频,对于初学者很有帮助: 地址:http://ireport.sourceforge.net/docs.html
? ? ? ? JasperReport官方提供的使用指南 ? ? ? ? 地址:http://jasperreports.sourceforge.net/tutorial/index.html ? ? ? ? ? ? ? ? JasperReport提供的一些例子: ? ? ? ? 地址:http://jasperreports.sourceforge.net/samples/index.html
4、常见问题 ? ? ? ?1)、iReport中提示框输入中文是不能正常显示,请将iReport下lib中的这个包删除tinylaf.jar ?2)、在iReport中运行报表时如果出现乱码问题,请检查itext-1.02b.jar和iTextAsian.jar这两个包是否加到CLASSPATH ? ? ? ?3)、在jsp或servlet高度报表时出现乱码或不显示,请检查你在报表设计过程中所设置的字体及其编码 比如:pdfname、pdfencoding 5、下面是两个调试例子 Servlet: import javax.servlet.*; import javax.servlet.http.*; import dori.jasper.engine.*; import java.io.*; import java.util.*; import java.sql.*;
/** * @author Administrator * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class TestReport extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { Connection conn = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=am;user=sa;password=sa");
ServletContext servletContext =this.getServletContext(); File reportFile = new File(servletContext.getRealPath("test/iteminfo.jasper")); Map parameters = new HashMap(); Integer i=new Integer(8); parameters.put("pjId",i); byte[] bytes = JasperRunManager.runReportToPdf( reportFile.getPath(), parameters, conn); response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes,bytes.length); ouputStream.flush(); ouputStream.close(); } catch (JRException jre) { System.out.println("JRException:" + jre.getMessage()); } catch (Exception e) { System.out.println("Exception:" + e.getMessage()); }
}
public void doPost( HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
doGet(request,response);
}
}
JSP: <%@ page contentType="text/html;charset=GBK" %> <%@ page import="dori.jasper.engine.*" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%@ page import="java.sql.*" %>
<% //数据库连接 Connection conn=null; Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=am;user=sa;password=
sa");
//取到编译后的jasper文件 File reportFile = new File(application.getRealPath("test/iteminfo.jasper"));
//向报表中定义的参数赋值 Map parameters = new HashMap(); Integer i=new Integer(8); parameters.put("pjId",i);
byte[] bytes = JasperRunManager.runReportToPdf( reportFile.getPath(), conn );
response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes,bytes.length); ouputStream.flush(); ouputStream.close();
%>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|