下面的代码是我在用ireport做报表,应用在应用程序中的代码,应用程序可以引用这个类,完成报表打印
预览:有问题请联系我!!!一起探讨!
import dori.jasper.engine.*;
import dori.jasper.engine.util.*;
import java.sql.*;
import java.util.*;
import dori.jasper.engine.JasperReport;
import java.util.Date;
import java.text.SimpleDateFormat;
import dori.jasper.view.*;
import org.apache.commons.logging.LogFactory;
import com.lowagie.text.DocumentException;
import com.lowagie.text.*;
import dori.jasper.engine.design.*;
import org.apache.commons.digester.Digester;
import org.apache.commons.beanutils.BeanUtils;
public class myreport
{
public void reportName(String strBbmc)
{
JRResultSetDataSource jrds = null;
JasperPrint jasperPrint = null;
Map reportParams = new HashMap();
ResultSet rs = null;
Connection con = null;
Statement stmt = null;
String sql = "select * from bbmc";
try
{
//动态获取
JasperDesign jasperDesign = JasperManager.loadXmlDesign("./bbmc.jrxml");
JasperReport jasperreport = JasperManager.compileReport(jasperDesign);
//建立连接
ConnectionpoolManager mgr = new ConnectionpoolManager();
mgr.setMonitorThread(520);
mgr.addAlias("jdbcConnecpool","com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://192.168.45.233:1433;DatabaseName = ysgl ","sa","sa",10,300,520,30,false);
con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+ConnectionPoolManager.getPoolName(),null,null);
stmt = con.creatStatement();
rs = stmt.executeQuery(sql);
jrds = new JRResultSetDataSource(rs);
jasperPrint = JasperFillManager.fillReport(jasperReport,reportParams,jrds);
//调出JasperViewer进行打印预览
JasperViewer.viewReport(jasperPrint);
}
catch(ClassNotFoundException ee)
{
ee.printStackTrace();
}
catch(SQLException ex)
{
ex.pritStackTrace;
}
catch(JRException e)
{
e.getMessage();
}
}
}