此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【senny925】截止到2008-07-15 17:44:12的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:90 每贴平均分数:30
回帖的总数量:6 得分贴总数量:3 回帖的得分率:50%
结贴的总数量:2 结贴的总分数:70
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:20
结贴的百分比:66.67 % 结分的百分比:77.78 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
楼主【senny925】截止到2008-07-15 17:44:12的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:90 每贴平均分数:30
回帖的总数量:6 得分贴总数量:3 回帖的得分率:50%
结贴的总数量:2 结贴的总分数:70
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:20
结贴的百分比:66.67 % 结分的百分比:77.78 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
jasper有sql数据源,为什么不用,如果是想学习新的数据源方式,再找下吧,
2、编译生成jasper文件。
3、将jasper文件考到工程目录下。
4、在servlet中写sql,用数据源来包装结果集显示。如:
String
sql = "select name,age from USER";//注意此处的"name","age"必须与ireport中的fields保持一致
Connection conn = ...;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
JRResultSetDataSource ds = new JRResultSetDataSource(rs);
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),
parameters, ds);
...
2、编译生成jasper文件。
3、将jasper文件考到工程目录下。
这三部我理解
您的意思是:ireport做的模板 ,跟sql的查询条件无关 , 模板了的东西就是设置了要显示的字段和位置吗???
2、编译生成jasper文件。
3、将jasper文件考到工程目录下。
4、在servlet中写sql,用数据源来包装结果集显示。如: Java codeString
sql = "select name,age from USER";//注意此处的"name","age"必须与ireport中的fields保持一致
Connection conn = ...;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
JRResultSetDataSource ds = new JRResultSetDataSource(rs);
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), parameters, ds);
您能不能把servlet里的代码给我啊 ,我好有个参考
sevlet代码:String path = this.getServletContext().getRealPath(
"reportFiles/classic.jasper");
File reportFile = new File(path);
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connection = DriverManager.getConnection(
url, user, password);
Statement stmt = connection.createStatement();
String sql = "select login_name from user";
ResultSet rs = stmt.executeQuery(sql);
JRResultSetDataSource ds = new JRResultSetDataSource(rs);
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),
null, ds);
resp.setContentType("application/pdf");
resp.setContentLength(bytes.length);
ServletOutputStream ouputStream = resp.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
File sourceFile = new File("src/com/mayy/reports/static.jasper");
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(sourceFile);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null,
new JRResultSetDataSource(fill.getResultSet()));
File destFile = new File(sourceFile.getParent(), "static" + ".jrprint");
这个是我写的一个类获取sql的ResultSet的方法(getResultSet()) ,我是先写一个XXX.jrprint文件,
最后我
JasperExportManager.exportReportToPdfFile ("src/com/mayy/reports/static.jrprint" , "src/com/mayy/reports/static.pdf");
用这个生成pdf文件
如果只是想看得舒心一点,用excport导出能够设置一些排版,可以解决横线和竖线的问题。
JRExporter exporter = new JRXlsExporter();
JasperPrint jasperPrint = JasperFillManager.fillReport(path,null,ds);
jasperPrint.setPageWidth(850);
...
但这是治标不治本的办法,我觉得ireport做得的模板似乎不太适合导出excel???