jasper-reports
发表于|更新于
|浏览量:
自然里并不包含有永恒不变的形态——霍尔巴赫
JasperReports 库是世界上最流行的开源报告引擎。它完全是用 Java 编写的,能够使用来自任何类型数据源的数据,并生成像素完美的文档,可以查看、打印或导出各种文档格式,包括 HTML、 PDF、 Excel、 OpenOffice、 MS Word 和其他格式。
git地址:https://github.com/TIBCOSoftware/jasperreports
官网地址:https://community.jaspersoft.com/project/jasperreports-library

相关推荐
2020-10-30
command too long
成功与失败的分水岭,可以用这五个字来表达——我没有时间。——(美)富兰克林费尔德 如果idea报command too long 这里有两种处理方式第一种是在.idea->workspace.xml的<component name="PropertiesComponent">标签中添加<property name="dynamic.classpath" value="true" /> 还有一种方式是在项目配置中选择classpath
2021-03-01
reduce补充
先发制人,后发制于人。——《汉书》 关于stream中的reduce这里做个补充 我们使用reduce常用的其实有两种方式 12System.out.println("求和:" + random.ints().limit(10).boxed().reduce(Integer::sum).orElseThrow(() -> new RuntimeException("求和失败"))); System.out.println("求和2:" + random.ints().limit(10).boxed().reduce(0, Integer::sum)); 这里求和2中我们传入参数0,表示后面返回的是和参数0同类型的返回值 但如果使用第一种,返回的则是Optional 这里其实还有第三种重载方法,但这种方法我们使用场景较少 1System.out.println("求和3:" + random.ints().limit(10).boxed().reduce(0, (i1, i2)...
2021-06-17
字符和Ascii码的互转
对我们帮助最大的,并不是朋友们的实际帮助,而是我们坚信得到他们的帮助的信念。——伊壁鸠鲁 我们可以使用多种方式去获取一个字符的ascii码 1234System.out.println(new Character('A').hashCode());System.out.println(Character.hashCode('A'));System.out.println((int) 'A');System.out.println((int) new Character('A')); 也可以反过来通过ascii码获取对应的字符 1234System.out.println((char) 65);System.out.println(new Character((char) 65));System.out.println((Character) (char) 65);System.out.println((Character) (char) (int) new Integer(65)); 其实...
2023-01-12
jackson反序列化器获取类型
不要用陌生人的目光来看你所爱的人,也不要认为自己做出了牺牲——贝·列昂尼多娃 例如这里使用hutool的EnumUtil.getEnumAt传入枚举的ordinal,以及枚举类型,获取到具体的枚举常量值 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106import cn.hutool.core.util.EnumUtil;import com.fasterxml.jackson.core.JsonParser;import com.fasterxml.jackson.databind.*;import com.fasterxml.jackson.databind.deser.ContextualDeserial...
2023-12-19
state-machine持久化踩坑
植物借栽培而生育,人类借教育而成人。——罗素 今天使用spring-state-machine踩坑了,这里配了持久化,然后在事件里更改了额外数据 12gameInfo = stateMachine.getExtendedState().get(WordChainConst.GAME_INFO, GameInfo.class);gameInfo.setXxx(xxx); 结果在interceptor或者guard等其他地方使用的时候,却获取不到正确的值 原来在修改值后,还需要持久化保存一下。。。 1public class RedisSmPersister extends AbstractStateMachinePersister<StateEnum, EventEnum, String> 1redisSmPersister.persist(sm, sm.getId());
2022-09-02
h2下update set字段重复处理拦截器
慷慨是友谊的精华——王尔德 今天发现Mybatis-Plus在h2下,同时使用UpdateWrapper和entity会出现 update 表名 set 字段1=xxx,字段1=xxx 这样的sql,在mysql下是正确的语法,h2会抛出异常 所以写了个mybatis拦截器,放在了streampark里: pr地址:https://github.com/streamxhub/streampark/pull/1493 源码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128/* * ...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog