ireport 5.6.0的使用(打印模板word,excel)

来源:互联网 发布:手机看网络电视流量 编辑:程序博客网 时间:2024/06/09 21:59
1.在pom.xml中导入jar包
<!-- ireport -->  <dependency>   <groupId>net.sf.jasperreports</groupId>   <artifactId>jasperreports</artifactId>   <version>5.6.0</version>  </dependency>  <dependency>      <groupId>org.codehaus.groovy</groupId>      <artifactId>groovy-all</artifactId>      <version>2.2.2</version>  </dependency>


2.在spring-mvc中添加
<!-- 注册XmlViewResolver,用于iReport & JasperReports报表生成 --> <bean id="jasperReportResolver" class="org.springframework.web.servlet.view.XmlViewResolver">     <property name="order">         <value>0</value>     </property>     <property name="location">         <value>classpath:jasper-views.xml</value>     </property> </bean>

3.新增jasper-views.xml文件

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <bean id="reportView" class="com.jinzay.smef.platform.reportView.CustomReportView">     <property name="reportDataKey" value="jrMainDataSource"/> </bean> </beans>


4.创建CustomReportView文件,可以改变引入文件的url
package com.jinzay.smef.platform.reportView;import java.util.Map;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperReport;import org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView;/** * <p>Title: 报表工具</p> * */public class CustomReportView extends JasperReportsMultiFormatView{ private JasperReport report;       public CustomReportView() {        super();    }         protected JasperPrint fillReport(Map<String, Object> model) throws Exception {        if (model.containsKey("url")) {            setUrl(String.valueOf(model.get("url")));            this.report = loadReport();        }                 return super.fillReport(model);    }         protected JasperReport getReport() {        return this.report;    }}


5.在项目里添加.jasper的文件

6.action代码(SpringMvc)
@RequestMapping(value = "/report", method = RequestMethod.GET) public String report(Model model) {     List<Map<String, ?>> hissList = new ArrayList<Map<String,?>>();   Map<String, String> temp = new HashMap<String, String>();   hissList.add(temp);//拼装数据(map的键是$F{....}的名字,value值就是显示的值)    // 报表数据源 (可以往界面添加多个数据源)名字可以随便定义  JRMapCollectionDataSource jrDataSource = new JRMapCollectionDataSource(sList);  JRMapCollectionDataSource hisDataSource = new JRMapCollectionDataSource(hissList);  // 动态指定报表模板url   model.addAttribute("url", "/WEB-INF/classes/jasper/chedai.jasper"); //填充的jasper的文件地址  model.addAttribute("format", "pdf"); // 报表格式  model.addAttribute("jrMainDataSource", jrDataSource); //主数据源  model.addAttribute("hisDataSource", hisDataSource); //子表数据源                        return "reportView"; // 对应jasper-views.xml中的bean id }


7.中文显示问题
可以导入额外的jar包iTextAsian-1.0.jariTextAsian-1.0.jar
详细设计请看 Jaspersoft iReport Designer 5.6.0 的使用
8.linux上中文问题
创建jasperreports.properties文件放入classes里
net.sf.jasperreports.awt.ignore.missing.font=true
在windows里查找需要的字体,放入classes里

链接可以看这里
http://note.youdao.com/noteshare?id=70c2583ebb03578d91300b17d9694845
0 0
原创粉丝点击