首页 > 编程语言 >jasper简单使用

jasper简单使用

时间:2023-08-15 17:46:50浏览次数:38  
标签:jasperreports 简单 JRException jasper 使用 import net sf

  1. 下载古老的IReport报表编辑器。
    链接:https://community.jaspersoft.com/project/ireport-designer/releases,最后打包时间为2014年5月,最终版本停留在v5.6.0。
  2. 由于IReport最高支持jdk7,所以一般会启动失败,推荐下载7u80,便可顺利启动:

编辑配置文件:【D:\iReport-4.5.1\etc下的ireport.conf】追加一行【jdkhome="D:\Program Files\Java\jdk1.7.0_80"】。

  1. 准备编译与反编译:
    maven-pom.xml:
<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>4.7.0</version>
</dependency>

代码:

package comg.yang.httpstest.controller;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.engine.xml.JRXmlWriter;

import java.io.File;

/**
 * @description:
 * @author: Yang JX
 * @since: 2021/8/14
 */
public class JasperCompile {

    public static void main(String[] args) throws Exception {
        compile();
        decompile();
    }

    /**
     * 从jrxml编译为jasper
     *
     * @throws JRException
     */
    public static void compile() throws JRException {
        JasperCompileManager.compileReportToFile(
                "/Users/rr/Desktop/goooo/shuYe/printSendMedCfqSy.jrxml",
                "/Users/rr/Desktop/goooo/shuYe/printSendMedCfqSy.jasper"
        );
    }

    /**
     * 从jasper反编译为jrxml
     *
     * @throws JRException
     */
    public static void decompile() throws JRException {
        String sourcePath = "/Users/rr/Desktop/goooo/printSendMedCfqSyChild.jasper";
        File file = new File(sourcePath);
        JasperReport report = (JasperReport) JRLoader.loadObject(file);

        String destinationPath = "/Users/rr/Desktop/goooo/printSendMedCfqSyChild.jrxml";
        JRXmlWriter.writeReport(report, destinationPath, "UTF-8");
    }

}

标签:jasperreports,简单,JRException,jasper,使用,import,net,sf
From: https://www.cnblogs.com/JaxYoun/p/17631950.html

相关文章

  • Conda_使用和常用的命令
    condaAsystem-level,binarypackageandenvironmentmanagerAnaconda和Miniconda都是ContinuumAnalytics的开源项目,用于管理Python的环境和包Anaconda是一个包含了conda、Python和超过150个科学包及其依赖项的科学Python发行版。Miniconda更加轻量级。它只包含了Pytho......
  • 使用 OpenTelemetry 构建可观测性 01 - 介绍
    毫无疑问,在过去几年里,你可能已经多次听到过可观测性这个词。对于很多人来说,很难理解这个词的真正含义。对许多人来说,他们错误地将其等同于"监控"。虽然可观测性的根本定义以及它所包含的一切都不在本系列博文的讨论范围之内,但我强烈建议您购买一本由CharityMajors(twitter)、Li......
  • vue2使用富文本编辑器vue-quill-editor
    一、将图片保存为base64编码(不建议)使用步骤:1、 安装vue-quill-editornpminstallvue-quill-editor-S2、main.js中全局引入//富文本编辑器importVueQuillEditorfrom'vue-quill-editor'import'quill/dist/quill.core.css'import'quill/dist/quill.snow.css'......
  • idea打包为普通的jar包,供其他项目使用
    参考文章,如有侵权,请告知删除https://blog.csdn.net/shifangwannian/article/details/48713767 1.导出jar包 1.1idea导出jar包不如eclipse方便,但是熟练了也很容易操作 1.2File->ProjectSettings->Artifacts(艺术品) 1.3点击第二行的“+”号->Add->选择......
  • django乐观锁、悲观锁商品秒杀简单demo
    悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读......
  • Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    场景Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/129179745在上面的基础上,如何使用存储过程构造坐标数据规律递增以及时间递增的模拟数据。表结构如下......
  • vscode使用记录
    1、ctrl+p打开全文搜索,快速查找文件(有个查找小技巧,比如需要查找一个叫DemoOpenGameInfo的文件,可以输入demoInfo,这样子可以直接排除剩下类似同名文件)2、Shift+Alt+方向键↓拷贝当前一行代码到下一行(远离ctrl+c和ctrl+v)3、Alt+方向键↓移动当前一行代码到......
  • Iterator 怎么使用?有什么特点?
    迭代器是一种对象,它能够用来遍历容器中的元素。在Python中,可以使用for循环来遍历迭代器中的元素。特点:可迭代:可以使用for循环遍历。惰性:只在需要时才生成元素,节省内存。只能遍历一次:迭代器只能遍历一次,遍历完后就不能再次使用。......
  • nvm及nodejs安装和使用(Windows下切换多版本nodejs)
    一、安装nvmnvm是一个简单的bash脚本,它是用来管理系统中多个已存的Node.js版本注:如果在安装nvm前已经安装了node,建议先将原来的node进行卸载或删除,可通过wherenode查看node安装路径:1、下载并安装nvm,下载地址:https://github.com/coreybutler/nvm-windows/releases,下载.zip后缀......
  • ChatGTP - 使用js实现炸jinhua游戏
    实现一个完整且复杂的炸jinhua游戏需要考虑到很多方面,包括玩家互动、游戏状态管理、游戏规则和逻辑等等。下面是一个较为简化的炸jinhua游戏的代码示例://定义一副扑克牌constSUITS=['♠','♥','♦','♣'];constRANKS=['2','3','4','5','6',......