一、环境搭建

  在spring-mvc.xml加入

<!-- jasperReports--><import resource="classpath*:spring-mvc-jasperreports.xml"/>
spring-mvc-jasperreports.xml具体配置代码:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:p="http://www.springframework.org/schema/p"       xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"       xsi:schemaLocation="       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">    <!-- jasperReports报表集成视图解析器 -->    <bean id="jasperReportsViewResolver"          class="org.springframework.web.servlet.view.jasperreports.JasperReportsViewResolver">        <!-- 执行优先级,值越小优先级越高 -->        <property name="order" value="0"/>        <!-- 处理视图返回 -->        <property name="viewClass" value="com.silverdata.smart.report.jasperreports.JasperReportsView"/>        <property name="prefix" value="/WEB-INF/jasper/"/>        <property name="suffix" value=".jasper"/>        <!-- 可通过配置此项用来过滤是否执行此视图解析器 -->        <!-- <property name="viewNames" value="rpt*"/>   -->        <!-- 报表数据源 -->        <property name="jdbcDataSource" ref="dataSource"/>        <!-- 扩展参数 -->        <property name="exporterParameters">            <map>                <!-- 指定格式报表的内容编码 -->                <entry key="net.sf.jasperreports.engine.JRExporterParameter.CHARACTER_ENCODING">                    <value>UTF-8</value>                </entry>                <!-- 通过Web访问时图片的URI -->                <!-- <entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IMAGES_URI">                      <value type="java.lang.String">/jasper/image.jsp?image=</value>                  </entry> -->                <!-- 图片目录的绝对路径 -->                <!-- <entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IMAGES_DIR_NAME">                      <value type="java.lang.String">D:\\work\\***\\framework\\tmp</value>                </entry> -->                <!-- 是否输出图片到目录 -->                <!-- <entry key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR">                      <value type="java.lang.String">true</value>                  </entry>  -->            </map>        </property>    </bean></beans>

jar包需要:
<!-- jasperreports --><dependency>    <groupId>net.sf.jasperreports</groupId>    <artifactId>jasperreports</artifactId></dependency><dependency>    <groupId>net.sf.jasperreports</groupId>    <artifactId>jasperreports-fonts</artifactId></dependency>

二、jasperreports报表设计步骤

1.新建项目配置jar包

若jar包unbond未找到~检查是否目录路径是纯英文的~中文不识别

2.新建报表模版~一般中国的报表直接用空白A4去做

3.若要用测试数据展现表格配置

然后根据需要查询字段表~加入测试数据一般也不使用

4.页面设计

5.配置

样式

编译

java代码部分:

开发代码:
public ModelAndView apply(ModelAndView modelAndView,@PathVariable("id") Long id) {  注释部分为二维码生成    /*List<Order> list = Lists.newArrayList();    Order order;    for (int i = 0; i < 100; i++) {        order = new Order(i, "供应商" + i, "厦门市" + i + "号楼", i % 2 == 0 ? "厦门" : "周口", new Timestamp(System.currentTimeMillis()));        list.add(order);    }    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();    QRCodeUtils.encode("PE12873619284611231213", 100, 100, byteArrayOutputStream);

    InputStream file = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());

    Map<String, Object> m = new HashMap<String, Object>();    m.put("QRCodeString", "PE12873619284611231213");    m.put("QRCode", file);    m.put("image", "E:\\ideaWorkSpace\\pipegallery\\pipegallery-operation\\src\\main\\webapp\\WEB-INF\\jasper\\silhouette.jpg");    return ReportUtils.toPdf("Silhouette4", m, list);*/

    List<ApplyDetails> applyDetailsList = Lists.newArrayList();    Map<String, Object> m = new HashMap<String, Object>();    List<Map> list =materialsIeApplyDetailsService.getAllByDynamicWhere(id);    MaterialsIeApply materialsIeApply=materialsIeApplyService.get(id);    m.put("APPLICANT",materialsIeApply.getApplicant());//申请人    m.put("ORDERNO",materialsIeApply.getOrderno());    m.put("IEAPPLYTYPE","0".equals(materialsIeApply.getIeApplyType())?"租用":"使用");    m.put("PLANGETDATE",materialsIeApply.getPlanGetDate());//领用时间    m.put("PLANRETURNDATE",materialsIeApply.getPlanReturnDate());//归还时间    m.put("AUDIT",materialsIeApply.getAuditId());//审核人    m.put("AUDITDATE",materialsIeApply.getApplyDate());//审核时间    //(0未提交、1待审核、2已审核、3未通过、4打回、5部分出库、6全部出库、7作废)    m.put("APPROVALSTATE", ReturnMaterialsIeApplyString.returnString(materialsIeApply.getApprovalState()));//申请单状态    m.put("APPLYDATE",materialsIeApply.getApplyDate());//申请提交时间    m.put("REASON",materialsIeApply.getReason());    m.put("REMARK",materialsIeApply.getRemark());    m.put("AUDITOPINION",materialsIeApply.getAuditOpinion());//审核意见    ApplyDetails applyDetails;    for (Map map:list){        applyDetails=new ApplyDetails(map.get("materialsname").toString(),map.get("suppliername").toString(),Integer.parseInt(map.get("amount").toString()),map.get("remark").toString(),map.get("spec").toString(),"1");        applyDetailsList.add(applyDetails);    }    return ReportUtils.toPdf("MaterialsIeApply", m, applyDetailsList);}

转载于:https://www.cnblogs.com/chenweida/p/7832533.html

jasperReport Studio java报表设计(详细)相关推荐

  1. jasperreport java数据,报表,IReport+JasperReport进行Java报表开发。

    一  相关基础知识 1.关于JasperReport和iReport Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式文件.它支持输出 ...

  2. java制作月度报表_Java报表制作详细过程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一般来说,一个完整的java报表设计流程,大体分为如下几个步骤: 1:打开设计器 2:配置数据源 3:新建报表 4:配置私有数据源 5:报表设计 6:预览 ...

  3. java 润乾报表_最理想的JAVA报表工具

    润乾报表是一个纯JAVA的企业级报表工具,是J2EE环境下开发WEB报表应用的最好工具. 润乾报表作为纯JAVA报表工具,在J2EE的Web报表应用中其集成性和部署能力都明显优于BO/Crystal ...

  4. jasperreport mysql_JasperReport报表设计

    在JRXML模板(或JRXML文件)中的JasperReport 都是标准的 XML文件,以.JRXML扩展.所有JRXML文件包含标签,作为根元素.这反过来又包含许多子元素(所有这些都是可选的).J ...

  5. 帆软 JAVA扩展_java报表开发工具FineReport教程之报表设计:单元格扩展

    java报表开发工具FineReport教程之报表设计:单元格扩展 报表设计章节适用于对报表业务有一定的了解,需要学习FineReport报表的初学者. 通过该章节的学习,可以掌握设计器的使用,了解报 ...

  6. JasperReport+iReport进行java报表开发

    一  相关基础知识     1.关于JasperReport和iReport     Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式 ...

  7. Java制作报表系统流程_finereport报表制作详细过程

    一般来说,一个完整的报表设计流程,大体分为如下几个步骤: 1:打开设计器 2:配置数据源 3:新建报表 4:配置私有数据源 5:报表设计 6:预览报表 7:发布报表 第一部分:配置数据源 打开报表设计 ...

  8. Java报表工具技巧--Style Report报表套打模板设计

    在报表软件和报表工具领域,报表套打是最为常见的一个用户需求,例如发票.支票.信封.对账单.保单以及各类证件表格的打印都需要根据既定的表格样式快速批量打印出结果.报表套打功能也是各种报表工具必备的功能之 ...

  9. java报表数据可视化

    目录 搭建开发环境 Excel说明 Excel的版本 常见的Excel操作工具 POI操作Excel 实现用户数据的导入 使用POI导出 基于模板导出列表数据 导出用户详细数据 自定义导出详细数据的引 ...

最新文章

  1. 30 个Python代码实现的常用功能,精心整理版
  2. Hyperledger Fabric PHP SDK
  3. sqlite php 函数大全,SQLite 表达式
  4. 华为RH8100v3巡检
  5. 条形图坐标轴_手把手教你用Excel绘图 | 双轴簇状条形图
  6. 【python之路14】发送邮件实例
  7. django ModuleNotFoundError: No module named 'tinymce***'
  8. json转string示例_C.示例中的String.Insert()方法
  9. 回发或回调参数无效。在配置中使用 enableEventValidation=true或在页面中启用了事件验证...(转)...
  10. Keras 训练时出现 CUDA_ERROR_OUT_OF_MEMORY 错误
  11. PCB 生产周期计算逻辑与代码实现
  12. 画出多项式的硬件编码_硬件工程师职业规划
  13. 「Linux」- 如何突破网络下载限速? @20210216
  14. JUnit 5预期异常
  15. 干线公路交叉口右转车辆与非机动车冲突精细化治理实例
  16. 《请君入瓮——APT攻防指南之兵不厌诈》—第8章8.5节安全贵在未雨绸缪
  17. 解决输入框中文英文长度限制不同的情况
  18. 二极管整流和同步整流区别
  19. 吐血整理!跳槽字节跳动涨薪
  20. https请求,报错Could not establish trust relationship for the SSL/TLS secure channel

热门文章

  1. 保险未起保是投保成功了吗?
  2. 细节真的能决定成败么?
  3. 科比退役时间什么时候
  4. 终于搞懂了网红主播的套路
  5. When we first heard of Linux
  6. docker RUN、CMD 和 ENTRYPOINT
  7. IDEA的创建javaWeb工程以及修改默认的class文件输出
  8. Spring_day2
  9. Lucas(卢卡斯)定理
  10. 树的基本定义表示方法