DynamicJasper创建动态报表

  1. //创建需要用到的对象  
  2. DynamicReport dr;  
  3. JasperReport jr;  
  4. JasperPrint print = null;  
  5. HashMap hm = new HashMap();  
  6. FastReportBuilder drb = new FastReportBuilder();  
  7.   
  8. drb.addColumn(String ColumnName,String FieldName,String ClassName,int ValueLength);//参数分别是列名,列对应数据字段,值对应类型,值长度,后边还能加几个其他参数,例如Style(表头样式),API中都有列出  
  9. //下面设置一些显示相关的属性  
  10. drb.setPrintColumnNames(true);  
  11. drb.setIgnorePagination(true) ;  
  12. drb.setMargins(0000);  
  13. drb.setUseFullPageWidth(true);  
  14.   
  15. dr = drb.build();  
  16.   
  17. jr = DynamicJasperHelper.generateJasperReport(dr, new ClassicLayoutManager(), hm);//我用的时候hm就是空的,具体不清楚它能干什么  
  18.   
  19. print = JasperFillManager.fillReport(jr, hm, DataSource);//DataSource是继承JasperReports的一个数据源类(具体记不清了,要看看公司电脑,有意向知道的朋友可以留言)的类,在其中定义数据的写入方式,我用的是循环判断查出的值的字段名称与前边表头设置的字段名称是否一致,一致的话就把该数据写入对应列  
  20.   
  21. //创建报表对象  
  22. JExcelApiExporter exporter = new JExcelApiExporter();  
  23.   
  24. FileOutputStream fos = new FileOutputStream(outFileName);//创建写入报表用的流,outFileName为输出文件名  
  25.   
  26. //设置一些报表属性,其中前三条是必要的  
  27. exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, fos);  
  28. exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);  
  29. exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outFileName);  
  30. exporter.setParameter(JRXlsExporterParameter.CHARACTER_ENCODING, "GB2312");  
  31. exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);  
  32. exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);  
  33. exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);  
  34. exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);  
  35. exporter.setParameter(JRXlsExporterParameter.IS_IGNORE_CELL_BACKGROUND, Boolean.TRUE);  
  36. exporter.setParameter(JRXlsExporterParameter.IS_IGNORE_CELL_BORDER, Boolean.TRUE);  
  37.   
  38. //打印报表  
  39. exporter.exportReport();  

Excel的报表就打印完毕了,其中会有一些异常需要抛出或抓取,加上即可,CSV与TXT格式大同小异,只要同上得到print对象后,创建对应报表对象,再设置一些属性即可;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值