forked from demo/example
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.0 KiB
63 lines
2.0 KiB
7 years ago
|
package com.fr.demo;
|
||
|
|
||
|
import com.fr.base.FRContext;
|
||
|
import com.fr.dav.LocalEnv;
|
||
|
import com.fr.main.TemplateWorkBook;
|
||
|
import com.fr.main.impl.WorkBook;
|
||
|
import com.fr.web.core.Reportlet;
|
||
|
import com.fr.web.request.ReportletRequest;
|
||
|
|
||
|
import java.io.InputStream;
|
||
|
import java.sql.Blob;
|
||
|
import java.sql.Connection;
|
||
|
import java.sql.DriverManager;
|
||
|
import java.sql.ResultSet;
|
||
|
import java.sql.Statement;
|
||
|
import java.util.Map;
|
||
|
|
||
|
|
||
|
public class ReadFromDatabase extends Reportlet {
|
||
|
public TemplateWorkBook createReport(ReportletRequest reportletRequest) {
|
||
|
// 定义报表运行环境,才能执行报表
|
||
|
String envpath = "D:\\FineReport_8.0\\WebReport\\WEB-INF";
|
||
|
FRContext.setCurrentEnv(new LocalEnv(envpath));
|
||
|
|
||
|
WorkBook workbook = new WorkBook();
|
||
|
String name = reportletRequest.getParameter("cptname").toString();
|
||
|
try {
|
||
|
// 定义数据连接
|
||
|
String driver = "com.mysql.jdbc.Driver";
|
||
|
String url = "jdbc:mysql://112.124.109.239:3306/yourdatebase";
|
||
|
String user = "yourusername";
|
||
|
String pass = "yourpassword";
|
||
|
Class.forName(driver);
|
||
|
Connection conn = DriverManager.getConnection(url, user, pass);
|
||
|
// 从数据库中读模板
|
||
|
String sql = "select cpt from report where cptname = '" + name
|
||
|
+ "'";
|
||
|
Statement smt = conn.createStatement();
|
||
|
ResultSet rs = smt.executeQuery(sql);
|
||
|
while (rs.next()) {
|
||
|
Blob blob = rs.getBlob(1); // 取第一列的值,即cpt列
|
||
|
FRContext.getLogger().info(blob.toString());
|
||
|
InputStream ins = blob.getBinaryStream();
|
||
|
workbook.readStream(ins);
|
||
|
}
|
||
|
} catch (Exception e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
return workbook;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void setParameterMap(Map arg0) {
|
||
|
// TODO Auto-generated method stub
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void setTplPath(String arg0) {
|
||
|
// TODO Auto-generated method stub
|
||
|
|
||
|
}
|
||
|
}
|