java报表开发组件 dynamicreports_使用Dynamicreports快速开发报表--准备环境

本文介绍了如何使用DynamicReports这个基于JasperReports的Java报表工具。通过设置开发环境,展示了如何创建动态报表,包括添加列和数据源,并提供了一个简单的运行示例,最后演示了如何运行报表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DynamicReports是一套基于JasperReports的Java报表工具。它可以创建一个动态报表,而且整个过程无需任何界面。你可以在非常短的时间里完成一个报表文档的创建,展示、打印,甚至还能导出成很多通用的文档格式比如PDF、Excel、Word和Html格式;

1 开发环境准备

项目目录结构如下:

cb4c9c94ac8d1799c49b1410569aedcd.png

Maven的pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.lvuo

lvluo-report

0.0.1-SNAPSHOT

war

net.sourceforge.dynamicreports

dynamicreports-core

${dynamicreports.version}

net.sourceforge.dynamicreports

dynamicreports-adhoc

${dynamicreports.version}

report

org.apache.maven.plugins

maven-compiler-plugin

${project.build.sourceEncoding}

${java.version}

${java.version}

256m

512m

src/main/java

src/test/java

src/main/java

**/*.xml

**/*.json

**/*.png

**/*.ttf

false

1.8

UTF-8

5.0.0

mvnrepository

mvnrepository

http://mvnrepository.com

search

search maven

http://search.maven.org/

2 运行报表

SimpleAdhocReport.java代码来自dr官方实例,稍有简化,直接运行即可。

package net.lvuo.demo;

import java.math.BigDecimal;

import java.util.Date;

import net.sf.dynamicreports.adhoc.AdhocManager;

import net.sf.dynamicreports.adhoc.configuration.AdhocColumn;

import net.sf.dynamicreports.adhoc.configuration.AdhocConfiguration;

import net.sf.dynamicreports.adhoc.configuration.AdhocReport;

import net.sf.dynamicreports.jasper.builder.JasperReportBuilder;

import net.sf.dynamicreports.report.datasource.DRDataSource;

import net.sf.dynamicreports.report.exception.DRException;

import net.sf.jasperreports.engine.JRDataSource;

public class SimpleAdhocReport {

public SimpleAdhocReport() {

build();

}

private void build() {

AdhocConfiguration configuration = new AdhocConfiguration();

AdhocReport report = new AdhocReport();

configuration.setReport(report);

AdhocColumn column = new AdhocColumn();

column.setName("item");

report.addColumn(column);

column = new AdhocColumn();

column.setName("quantity");

report.addColumn(column);

try {

JasperReportBuilder reportBuilder = AdhocManager

.createReport(configuration.getReport());

reportBuilder.setDataSource(createDataSource());

reportBuilder.show();

} catch (DRException e) {

e.printStackTrace();

}

}

private JRDataSource createDataSource() {

DRDataSource dataSource = new DRDataSource("item", "orderdate",

"quantity", "unitprice");

for (int i = 0; i < 20; i++) {

dataSource.add("Book", new Date(), (int) (Math.random() * 10) + 1,

new BigDecimal(Math.random() * 100 + 1));

}

return dataSource;

}

public static void main(String[] args) {

new SimpleAdhocReport();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值