php调用java,并生成 jasperReports报表
关键字 php java bridge iReport jasperReports pdf
1.先安装配置环境,请参阅前辈们的文章 我也提供一个参考地址 http://zhengdl126.iteye.com/blog/418574 按文中第一种配置就ok了。
2.编辑数据库连接的java通用类JdbcConnection.java
/*
* @(#)JdbcConnection.java
*
* Copyright (c) 2010 AsiaSoft Company Limited. All Rights Reserved.
*/
package org.altic.jasperReports;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
/**
* Class description goes here.
*
* @version 1.00 2010-3-12
* @author Frank.wu
*/
public class JdbcConnection {
private String driver; // "oracle.jdbc.driver.OracleDriver";
private String connectString; // "jdbc:oracle:thin:@YOUR_ORACLE_HOST:1521:YOUR_SID";
private String user; // "YOUR_ORACLE_USER_NAME";
private String password; // "YOUR_ORACLE_PASSWORD";
public JdbcConnection() {
// loadPropertiesConnection();
}
public JdbcConnection(String driver, String connectString, String user,
String password) {
this.driver = driver;
this.connectString = connectString;
this.user = user;
this.password = password;
}
public void loadPropertiesConnection() {
this.driver = "";
this.connectString = "";
this.user = "";
this.password = "";
try {
Properties props = new Properties();
InputStream resourceAsStream = getClass().getResourceAsStream(
"/connection.properties");
props.load(resourceAsStream);
this.setDriver(props.getProperty("driver"));
this.setConnectString(props.getProperty("connectString"));
this.setUser(props.getProperty("user"));
this.setPassword(props.getProperty("password"));
} catch (Exception e) {
e.printStackTrace();
}
}
public Connection getConnection() {
try {
// Change these settings according to your local configuration
Class.forName(this.getDriver());
Connection conn = DriverManager.getConnection(this
.getConnectString(), this.getUser(), this.getPassword());
return conn;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public String toString() {
return " Driver : " + this.getDriver() + " | " + " ConnectString : "
+ this.getConnectString() + " | " + " User : " + this.getUser()
+ " | " + " Password : " + this.getPassword();
}
public String getConnectString() {
return connectString;
}
public void setConnectString(String connectString) {
this.connectString = connectString;
}
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
}
3.在Eclipse下面,将项目已导出jar包的形式导出,(方法是选择项目,右键-->export,然后next就可以了),在这里我的导出为iReport1.jar
4.将项目中相应的jar包都复制到 D:\lib文件夹下。在文章的末尾可以下载到。
5.iReport.php代码
setDriver("com.mysql.jdbc.Driver");
// url for mysql
$Conn->setConnectString("jdbc:mysql://localhost/aerp");
// mysql user name
$Conn->setUser("root");
// mysql password
$Conn->setPassword("root");
$jrm = new JavaClass("net.sf.jasperreports.engine.JasperRunManager");
$jrm->runReportToPdfFile(
"D:/report1.jasper",
"D:/report5.pdf",
new Java("java.util.HashMap"),
$Conn->getConnection()
);
} catch (JavaException $ex) {
$trace = new Java("java.io.ByteArrayOutputStream");
$ex->printStackTrace(new Java("java.io.PrintStream", $trace));
print "java stack trace: $trace\n";
}
?>
6.启动apache....
7.http://localhost/demo/iReport.php 即可,在D:/下就可以看到生成了一个pdf报表。
我也是这几天反复尝试再弄出来,各位如果不理解之处,可以联系本人。wushexin2006@126.com
分享到:
相关推荐
java源码资源JasperReports 报表类库v3.5提取方式是百度网盘分享地址
总之,JasperReports v3.5源代码提供了一个深入了解报表生成库的机会,无论是对报表设计、数据处理还是报表展示,都提供了广泛的功能和灵活性。开发者可以通过学习源码,更好地理解和利用这个强大的工具,提升自己的...
JasperReports是一款强大的开源报表工具,它允许开发者创建复杂、美观的报表,并能与Java应用程序无缝集成。在Java开发环境中,JasperReports以其灵活性和易用性被广泛应用于数据分析和展示。本教程“JasperReports ...
该小项目以编码形式实现了JaperReports的动态报表功能,以满足用户对报表的高度定制化。 使用该项目时的注意事项: 1.使用Eclipse导入该项目 2.下载JasperReports Library,将JasperReports的jar文件及其依赖jar...
JAVA源码JasperReports报表类库v3.5
JasperReports是一款强大的开源报表工具,主要面向Java开发者,用于生成各种类型的静态和交互式报告。这个"基于Java的JasperReports报表类库v3.5.zip"文件包含的是JasperReports库的v3.5版本,这是一个历史悠久且...
然后,通过编写Java代码来加载报表模板、连接数据源、填充数据并生成报表。在实践中,还需要注意数据处理的性能优化,比如使用懒加载和缓存策略。 总之,JasperReports v3.5是一个强大且灵活的报表工具,对于Java...
JRXML文件可以使用iReport或Jaspersoft Studio等可视化工具创建,然后在运行时由JasperReports引擎解析并生成报表。 2. **报表设计** - **字段和表达式**: 报表中的数据通常源自字段,这些字段可以是数据库查询的...
总之,JasperReports 0.6.1是一个基础的报表生成工具,虽然功能相对有限,但对于初学者或对复杂报表需求不高的项目来说,它仍然是一个实用的选择。随着版本的迭代,JasperReports的功能不断丰富和完善,成为了一个...
在Java开发领域,报表生成是一项重要的任务,用于呈现和分析数据。iReport和JasperReports是两个非常流行的开源工具,专门用于设计和实现复杂的报表。本文将深入探讨这两个工具的联合使用,以及如何通过它们来提升...
### 四、程序集成与报表生成 1. **引入JasperReports库**:在你的Java项目中,添加JasperReports库的jar文件到类路径。 2. **编译JRXML文件**:使用`JasperCompileManager.compileReport()`方法将JRXML文件编译成`....
当iReport与JasperReports结合使用时,开发者可以先在iReport中设计报表模板,然后在Java应用中调用JasperReports库来生成报表。以下是一般的开发流程: 1. **设计报表**:在iReport中,通过选择各种组件并设置样式...
在Java开发领域,报表生成是一项常见但至关重要的功能,它能够帮助开发者将数据以直观、易读的形式呈现给用户。本文将详细介绍六种使用Java生成报表的方法,每种方法都有其独特的优势和适用场景。 #### 1. ...
总之,Java 生成图形报表涉及的关键技术有数据处理、图形库选择(如 JFreeChart)以及报表设计工具(如 JasperReports 和 iReport)。通过熟练掌握这些工具和技术,开发者可以轻松地在 Java 应用程序中实现美观且...
在 Java 应用程序中集成报表生成功能,JasperReports 提供了强大的 API,可以方便地与 Java 应用程序进行交互。开发人员可以通过 JRXML 文件定义报表布局,这些文件使用 XML 格式,包含表格、图表、文本框等元素的...
在Java开发中,报表生成是一项重要的技能,尤其在企业级应用中,用于数据展示、分析和决策支持。本文将深入探讨如何使用Java实现报表的生成,结合提供的参考项目,我们将探讨相关的技术和工具。 首先,Java报表生成...
开发者在使用JasperReports时,需要注意数据源的配置、报表模板的设计、以及如何在Java代码中调用报表引擎生成报表。同时,为了提高性能和用户体验,还需要考虑如何优化数据查询和报表渲染。 总的来说,...
总的来说,JasperReports v3.5是一个功能强大的报表生成工具,通过其类库,开发者可以轻松地在Java应用中实现灵活、多样化的报表功能。不过,需要注意的是,随着版本的更新,新版本可能会引入更多特性,提高性能,...
### Java调用iReport生成Word报告 #### 一、前言 本文档旨在详细介绍如何使用Java语言调用iReport工具来生成Word...这种方法不仅提高了报表生成的效率,还大大简化了开发流程,非常适合于需要频繁生成报表的应用场景。