PDF报表

1. 建立数据库联线。
2. 由sql語法取出資料,准备好传入的 parameters。
3. 將parameters及取出的資料傳入Jasper中。會由 .jasper檔產生出 .jrprint 檔。
4. 再由 .jrprint 檔產生出 .pdf的目的檔。

//建立连线方法
public Connection createConnection(){
Connection conn;
try{
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url=
"jdbc:microsoft:sqlserver://10.0.0.151:1433;DatabaseName=Northwind";
Class.forName(driver);
conn = DriverManager.getConnection(url, "sa", "sa"); //建立连线
conn.setAutoCommit(false);
return conn;
}
catch(SQLException ex1){
System.out.println("建立连线錯誤="+ex1.toString());
}
catch (ClassNotFoundException ex2){
System.out.println("建立连线錯誤="+ex2.toString());
}
return null;
}
//关闭资料连线
public void CloseConnect(Connection conn){
try{
conn.commit();
conn.setAutoCommit(true);
conn.close();
}
catch(Exception e){
System.out.println("连线关闭错误="+e.toString());
}
}
//建立PDF輸出
public void createPdfReport(){
String fileName="";
String strDate="";
String sql="";
//取得今天日期
Calendar cal=Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
strDate=String.valueOf(cal.get(Calendar.YEAR))+"-";
if(cal.get(Calendar.MONTH)<9)
strDate+="0";
strDate+=String.valueOf(cal.get(Calendar.MONTH)+1)+"-";
if(cal.get(Calendar.DATE)<9)
strDate+="0";
strDate+=String.valueOf(cal.get(Calendar.DATE));
Map parameters=new HashMap();
parameters.put("rptToday",strDate); //傳入的parameters引數
sql =" select CompanyName ,ContactName , ";
sql+=" ContactTitle , City , Country ";
sql+=" from Suppliers ";
sql+=" where ContactTitle like '%Sales%' "; //在此試捉出與Sales有關
sql+=" order by Country , ContactTitle ";
Connection conn = this.createConnection(); //建立資料庫連線
try {
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sql);
fileName = "D://iReport//iReport-0.4.0//Work//TestiReport.jasper";
JasperFillManager.fillReportToFile(fileName,parameters,
newJRResultSetDataSource(rs));
fileName = "D://iReport//iReport-0.4.0//Work//TestiReport.jrprint";
JasperExportManager.exportReportToPdfFile(fileName);
}
catch (Exception ex) {
System.out.println("Error : "+ex.toString());
}
finally {
CloseConnect(conn);
conn = null;
}
}

   由createConnection、CloseConnect 及createPdfReport 这三个方法,即可
产生出一個 PDF 档。只要将這三個方法加入至你的应用程序里,要产生PDF时,即
呼叫createPdfReport()這個方法即可。注意你要传递的参数和sql语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值