问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用iReport 和jasper生成报表

发布网友 发布时间:2022-05-04 13:17

我来回答

2个回答

热心网友 时间:2022-05-04 14:46

1)用ireport创建完成jrxml文件后,到ireport的安装目录找到相应的jasper文件,然后放到项目的一个目录中。(由于让程序每次都编译jrxml很浪费时间,再说模板也不容易改变,建议只编译一次就OK)
2)使用代码如下
Session session = HibernateUtil.currentSession();
Connection con = session.connection(); //得到链接
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQ ry("select * from applications_list where app_id='" +appId+"'"); //用数据集传入带参数的SQL语句
System.out.println("select * from applications_list where appl_list_id='" +appId+"'");
String appPath = req st.getSession().getServletContext().getRealPath("/"); //得到以便于好的jasper文件
if (appPath.lastIndexOf("\\") != appPath.length() - 1)appPath += "\\";
String reportFileName = appPath+ "jasper\\untitled_report_1.jasper";
Map parameters = new HashMap();
parameters.put("Title", "设备申请列表");//注意可以有很多个参数
JasperPrint jasperPrint = JasperFillManager.fillReport(reportFileName, parameters, new JRResultSetDataSource(rs));
JRRtfExporter exporter = null;
exporter = new JRRtfExporter();
response.setContentType("text/html; charset=UTF-8");
response.setContentType("application/msword");
String applicatiosname = ToUTF8.toUtf8String("设备申请单"); //处理下载后文件名中文问题
response.setHeader("Content-disposition","attachment;filename="+applicatiosname+".doc");
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());
exporter.exportReport();
?
?
?
* 返回字符编码UTF-8 */
?p lic static String toUtf8String(String s) {
StringB?r sb = new StringB?r();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes("UTF-8");
} catch (Exception ex) {
//System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0)
k += 256;
sb.append("%" + Integer.toHexString(k).toUpperCase());
}
}
}
return sb.toString();
?}
不懂楼主为什么要用这个也太麻烦了吧,上面是我去论坛里面搜的,真心无力啊啊,我用的finereport,功能很强大齐全啊,也不用还搞代码。网上有免费版,楼主可以百度看看,希望可以帮到你。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
刺身怎么下刀? 养老护理员资格证的等级是什么 养老护理员证有几级啊 工行手机银行如何提前还房贷 工行手机银行提前还房贷操作 工行手机银行app可以提前房贷还款吗_工行手机银行提前还房贷步骤... 金龙八部是什么时出版的 天龙八部陈浩民那一年出版的 金庸作品集:天龙八部图书信息 puum243请到柜面、网银或手机银行修改密码? 超重被交警抓一般怎么处理 32位risc微处理器有哪些 汽车钥匙加密芯片解密,橙盒科技提供全系列PCF芯片解密PCF7953芯片解密... 格罗夫的安迪·格罗夫 &quot;AVR&quot;是什么意思?及RISC/CISC是什么? 为什么不能在塔前照相? 摄影为什么不能站在树底下 为什么身边的亲戚突然不能拍照 故宫 为啥午门看上去歪呢? 为何入古庙不准给文物照相,对它有什么损害? 为什么不能在塔的正下方拍照? 为什么不能站在大钟下面照相 想去北京玩,参观各景点该怎么合理安排 怎样从公司帐户里取钱出来,整个过程如何 故宫的西华门开放吗 风水学在桥下照相有啥 商丘北关小鱼汤的做法 银行对公户怎么取钱 照相不能站在门中间? 为什么不能在老屋门前照相 白鹿原鹿兆鹏有原型吗 鹿兆鹏最后和谁在一起 被后世奉为“七绝圣手”的王昌龄被谁杀害,谁又替他报了仇? 王昌龄是怎么死的? “七绝圣手”的王昌龄究竟被谁杀死了,谁又替他报了仇? 被后世奉为“七绝圣手”的王昌龄是被谁杀害的,谁又替他报了仇? 王昌龄是诗家天子,为何惨烈死于军阀之手? 王昌龄怎么死的 被后世奉为“七绝圣手”的王昌龄被谁杀害?谁又替他报了仇呢? 王昌龄是由几年生一一几年死? 谁在大诗人王昌龄被杀以后,帮他报了仇,是怎么做到的? 王昌龄是什么是什么时候出生的什么时候死的 王昌龄个人资料 小米手环6传感器上有花纹 我才用了两天 花纹只有在有光的地方 从侧面看才看得见 这样的会影响心率吗_百度问一问 怎么把桌面的图标弄小 如果完全删除了瑞星杀毒软件电脑右下角还有超小图标怎么办 电脑桌面上出现一个很小的图标是什么东西?求高手帮看看啊!!! 为什么win10的系统会这样进去后图标超小怎么解决啊 电脑图标太小了怎么调 桌面图标小太小。怎么办? 女性购物网站有哪些 十大女性购物必 目前比较火的女性购物网站有哪些了!