加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

JasperReport+iReport实现套打的问题总结

发布时间:2020-12-12 15:47:57 所属栏目:MsSql教程 来源:网络整理
导读:JasperReport和iReport版本的问题 ? 一:如果版本不匹配,预览是什么东西也都看不到 ? 中文乱码的问题 二:就是要下个包iTextAsian.jar? 并且要放在iReport的lib目录下面 ????? 再就是在新建field等的时候要把PFD Font Name 里选STSong-Light ???? PDF Embed

JasperReport和iReport版本的问题

? 一:如果版本不匹配,预览是什么东西也都看不到

?

中文乱码的问题

二:就是要下个包iTextAsian.jar? 并且要放在iReport的lib目录下面

????? 再就是在新建field等的时候要把PFD Font Name 里选STSong-Light

???? PDF Embedded? PDF Encoding前面打上勾下拉框里选UniGB-UCS2-H (Chinese Simplified)

?

iReport是如何工作的?

三:对于这个问题,我想得比较久了,找资料也是有限,所以就一直没弄明白它是怎么部署到我们jsp页面运用上去的,一整个工作的原理没清楚,后来总算理解了,其实很简单的,大家别笑话我呀……

???? 下面是jsp代码?? 是实现套打的代码

?

?

<%
? String id = request.getParameter("paramId");//这个id是传到iReport里面去的
?%>
??<%
???//报表编译之后生成的.jasper 文件的存放位置
???//File reportFile = new File(application
????//?.getRealPath("/test.jasper"));
???File reportFile = new File("D://Program Files//JasperSoft//iReport-2.0.3//biao1.jasper");
???//这个是用来联接我的SQL Server 的JDBC URL
???String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=cmtony";
???Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")
?????.newInstance();
???//传递报表中用到的参数值
???Map parameters = new HashMap();
???//"Name"是报表中定义过的一个参数名称,其类型为String 型
???parameters.put("id",new String(id));
???System.out.println("---------conn-------------");
???//连接到数据库
???Connection conn = DriverManager.getConnection(url,"sa","sa");
???System.out.println("---------Jasper begin-------------");
???//在控制台显示一下报表文件的物理路径
???System.out.println(reportFile.getPath());
???byte[] bytes = JasperRunManager.runReportToPdf(
?????reportFile.getPath(),parameters,conn);
???System.out.println("---------Jasper end-------------");
???response.setContentType("application/pdf");
???response.setContentLength(bytes.length);
???ServletOutputStream ouputStream = response.getOutputStream();
???ouputStream.write(bytes,bytes.length);
???ouputStream.flush();
???ouputStream.close();
??%>

?

工作原理:iReport 中建立-------执行动态报表会长生一个*.jasper文件

???????????????? iReport只要运行这一次就可以了,以后我们每次运行jsp里面的代码就可以直接读取这个文件,就可以生成你想要的 pdf或是别的格式的报表,参数可以从这个页面传到*.jasper文件,这个文件就会可以根据这个参数到数据查询出你想要的数据,当然要开始在iReport中设置这个参数,还要写报表查询语句

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读