jasperReport如何获取jasper表格中title中的名字作为下载文件的名字

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuliqi0429/article/details/50202421

对于这个问题其中有两个难点:1,获取到jasper表格中title中的标题。2,如果中文标题,那么就需要下载文件的文件名是中文。


1,获取jasper表格中的标题


JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile(jasperFile.getPath());
JRBand titleBand = jasperReport.getTitle();
List<JRChild> list = titleBand.getChildren();
JRStaticText jrChild = (JRStaticText) list.get(0);
String titleName = jrChild.getText()+"";

对上面代码的解释:首先获取到jasperReport对象,然后获取其中的titleBand,然后在获取titleBand中所有的子项,一般来说title中的放置一个textfield写标题内容且只放置一个(如果还有其他情况根据标题在title中的位置来获取这个textfield),然后将JRChild强转为JRStaticText对象,然后使用JRStaticText对象的getText方法获取其中填写的值。



2.,设置下载文件的文件名是中文


response.setHeader("Content-Disposition", "attachment;filename="+ new String(titleName.getBytes("gbk"),"iso8859-1")  + ".pdf");


猜你喜欢

转载自blog.csdn.net/yuliqi0429/article/details/50202421