ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:442.72KB ,
资源ID:8398949      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8398949.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JasperReport Development Guide and SampleWord格式.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

JasperReport Development Guide and SampleWord格式.docx

1、import java.util.Map;import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.chart.plot.PiePlot3D;import org.jfree.data.general.DefaultPieDataset;import mon.util.SpringContextUtils;import com.achievo.module.training.domain.AdminDistrict;import com.achievo.module.traini

2、ng.service.IAdminDistrictService;import net.sf.jasperreports.engine.JRDataSource;import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;import net.sf.jasperreports.renderers.JFreeChartRenderer;public class ReportTestAction extends ReportSupport IAdminDistrictService adminDistrictService=

3、(IAdminDistrictService)SpringContextUtils.getBean(adminDistrictService); Override public void addSubReport(JasperReportDataSourceAdapter jrda) /初始化数据 public JRDataSource initJRDataSource() /取业务数据 List reportRows = adminDistrictService.getAll(); if (null = reportRows) reportRows = new ArrayList(); JR

4、BeanCollectionDataSource dataSource = new JRBeanCollectionDataSource( reportRows); return dataSource; public void prepareParam(Map param) reportName = report_test; ReportTestAction继承于ReportSupport,ReportSupport封装了公用的功能,代码如下:import java.awt.Graphics2D;import java.awt.geom.Rectangle2D;import java.io.F

5、ile;import java.io.FileOutputStream;import java.io.IOException;import java.util.HashMap;import org.jfree.chart.plot.PlotOrientation;import org.jfree.data.category.DefaultCategoryDataset;import org.jfree.data.xy.XYSeriesCollection;import mon.util.Struts2Utils;import com.achievo.framework.server.web.a

6、ction.AbstractBaseAction;public abstract class ReportSupport extends AbstractBaseAction String reportName; String path; public static final String REPORT_PATH = com/achievo/module/training/action public String getPath() return path; public void setPath(String path) this.path = path; public String ge

7、tReportName() return reportName; public void setReportName(String reportName) this.reportName = reportName; public abstract void prepareParam(Map param); public abstract void addSubReport(JasperReportDataSourceAdapter jrda); /生成报表文件到前台 public String showPdfReport() path = this.getClass().getClassLoa

8、der().getResource( REPORT_PATH).getPath(); /* Parameters */ Map params = new HashMap(); params.put(sub_dir, path); prepareParam(params); ReportDataSource rds = new ReportDataSource(); / Template file path rds.setReportTemplatePath(path + /+ reportName + .jrxml / Compiled file path rds.setJasperRepor

9、tPath(path + + reportName.jasper / Parameters rds.setParams(params); / JRDataSource rds.setJRDataSource(initJRDataSource(); / OutPutFile name rds.setOutPutFileName(reportName + .pdf / Compile and fill value to the report JasperReportDataSourceAdapter jrda = new JasperReportDataSourceAdapter( rds); /

10、 Export report constructor Report report = new JasperReportObject(); try /添加子报表(如果有) addSubReport(jrda); /以PDF方式导出 report.export(Struts2Utils.getRequest(), Struts2Utils.getResponse(), jrda.getJaspertPrint(), Struts2Utils.getResponse().getOutputStream(), Report.REPORT_EXPORT_PDF, rds.getOutPutFileNam

11、e(); catch (ReportException e) e.printStackTrace(); catch (IOException e) return null; public abstract JRDataSource initJRDataSource(); BufferedImage extractImage(JFreeChart chart, int width, int height) BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2

12、= img.createGraphics(); chart.draw(g2, new Rectangle2D.Double(0, 0, width, height); g2.dispose(); return img; JFreeChart createChart(XYSeriesCollection dataSet) JFreeChart jfreechart = ChartFactory.createXYBarChart(null, , false, , dataSet, PlotOrientation.HORIZONTAL, false, false, false); return jf

13、reechart;ReportSupport的实现需要用到下列类:JasperReportDataSourceAdapter,JasperReportObject,Report,ReportDataSource,ReportException。map为提供给报表的参数,如日期范围等。struts.xml配置如下: 三、利用iReport开发报表1. 新建数据源打开iReport,点击下图像插头一样的Report Datasources,弹出对象框中New,选择JavaBeans set datasource后Next,输入Name为demo后Save,如下两图:2. 增加类路径点击“工具”“选

14、项”,选择classpath标签页,点击Add Folder,将项目类路径加入,如下图路径为:C:UserslinliDocumentsworkspaceJSReportDemobuildclasses3. 新建报表点击 create a new reportOpen this Template后,输入报表名这里是demoReport后下一步,继续完成。4. 读取bean属性点击Preview字样右边的按钮设置数据源,在弹出框中选择JavaBean Datasource标签页,在Class name中输入类名,点击Read attributes会列出类中所有属性。选中所需的属性,点击对话框中间

15、的Add selected field(s)增加到报表字段中。6. 设计报表将左侧Report Inspector中Fields下刚加入的字段托到报表设计器中,设计完的报表如下图:7. 运行报表将demoReport.jxml文件复制到项目,启动容器,浏览器下查看报表如下:四,利用JFreeChart画图方式一,利用IReport的chart tool控件:将chart拖到报表中,选择类型,如pie:点击右键,选择Chart Data菜单,需要设置Key expression,Value expression,Label expression,其中$FdisId,$Fname均来自于数据源,效

16、果如下:方式二,利用Scriptlet,创建一个Java类,如JChartReportDemo,继承于JRDefaultScriptlet,重写afterReportInit,代码如下:import net.sf.jasperreports.engine.JRDefaultScriptlet;import net.sf.jasperreports.engine.JRScriptletException;public class JChartReportDemo extends JRDefaultScriptlet public void afterReportInit() throws JRS

17、criptletException /create pie chart dataset DefaultPieDataset dateset = new DefaultPieDataset(); /set dataset value dateset.setValue(Chinese, 108);Math, 110);English, 74);Science Department, 226); /*/* * create jfreeChart object * the first parameter is pie chart title * the secend parameter is data

18、set of pie chart * the three parameter is boolean value,create chart note * the four parameter is boolean value,its a tooltip of move mouse on * configure chart to generate URLs,Its get a PiePlot3D object * */ JFreeChart freeChart = ChartFactory.createPieChart3D(Report Pie Chart, dateset, true, true

19、, false); PiePlot3D plot3D = (PiePlot3D) freeChart.getPlot(); plot3D.setNoDataMessage(No data to display / set variable jfreeChart value this.setVariableValue(, new JFreeChartRenderer(freeChart);将该Scriptlet加入报表,方法如下:在Scriptlets中添加刚才编写的JChartReportDemo;在报表加入一个Image控件,设置它的属性:其中Image Expression设置为$VjfreeChart,Expression Class设为net.sf.jasperreports.engine.JRRenderable。保存报表,运行效果如下:方式三,利用参数或JavaBean属性传递数据在参数中加入如下代码:Override DefaultPieDataset dateset = new DefaultPieDataset(); param.put(pfreeChart将报表Image控件的Image Expression设为$PpfreeChart。运行效果如下:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2