「java打印报表」java打印列表

博主:adminadmin 2022-11-23 21:04:09 52

今天给各位分享java打印报表的知识,其中也会对java打印列表进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何用java窗体程序中直接调用FineReport报表模板进行打印

非常感谢,按帮助文档,用com.fr.view.PreviewPane打印出来了,就是会显示处理中进度条。并且还提示Componet

state

change

must

be

done

on

Event

Dispatch

Thread.workBook生成没有问题,并且可以保存导出。请高手指点下

最理想的JAVA报表工具有哪些?

JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports

支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。

Pentaho是一个以工作

流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它偏向于与业务流程相结合的BI解决方案,侧重于大

中型企业应用。它允许商业分析人员或开发人员创建报表,仪表盘,分析模型,商业规则和 BI 流程。

功能和特点

◆ 工作流引擎:Shark and JaWE

◆ 数据库:Firebird RDBMS

集成管理和开发环境:Eclipse

◆ 报表工具:Eclipse BIRT

◆ ETL工具:Enhydra/Kettle

◆ OLAP

Server:Mondrian

◆ OLAP展示:JPivot

◆ 数据挖掘组件:Weka

应用服务器和Portal服务器:JBoss

◆ 单点登陆服务及LDap认证:JOSSO

◆ 自定义脚本支持:Mozilla Rhino

Javascript脚本处理器

OpenReports

是一个基于web的报表解决方案,可为用户提供通过浏览器查看动态创建的PDF、HTML或XLS格式报表的能力。OpenReports

使用Java开发的,并使用JasperReports作为报表生成引擎。

JFreeReport (现改名为 Pentaho

Reporting)是一个用来生成报表的Java类库。它为Java应用程序提供一个灵活的打印功能并支持输出到打印机和PDF, Excel,

HTML和XHTML, PlainText, XML和CSV文件中。

XLS是基于Jakarta POI

API的Excel报表生成工具,可以生成精美的Excel格式报表。它采用标签的方式,类似JSP标签,写一个Excel模板,然后生成报表,非常灵活,简单!

BIRT是一个Eclipse-based开放源代码报表系统。它主要是用在基于Java与J2EE的Web应用程序上。BIRT主要由两部分组成:一个是基于Eclipse的报表设计和一个可以加到你应用服务的运行期组件。BIRT同时也提供一个图形报表制作引擎。

个人用过 JFreeReport JasperReports 感觉比较容易上手

如何实现java打印报表,或者一个finereport的demo也可以

java后台定义定时打印的功能,同时又需要直接调用报表的打印的时候,由于打印机型号和纸张的不同,需要指定打印机,从而打印是否成功并设置返回值

package com.fr.io;

import java.io.File;

import java.util.HashMap;

import com.fr.base.FRContext;

import com.fr.base.Parameter;

import com.fr.dav.LocalEnv;

import com.fr.main.TemplateWorkBook;

import com.fr.print.PrintUtils;

public class JavaPrint {

public static void main(String[] args) {

// 定义报表运行环境,才能执行报表

String envPath = "D:\\FineReport\\develop\\code\\build\\package\\WebReport\\WEB-INF";

FRContext.setCurrentEnv(new LocalEnv(envPath));

try {

TemplateWorkBook workbook = TemplateWorkBookIO.readTemplateWorkBook(FRContext.getCurrentEnv(), "GettingStarted.cpt");

// 参数传值

Parameter[] parameters = workbook.getParameters();

HashMapString, String paraMap = new HashMapString, String();

paraMap.put(parameters[0].getName(), "华北");

// java中调用报表打印方法

boolean a = PrintUtils.printWorkBook("GettingStarted.cpt", paraMap, true);

if (a == false) {

System.out.println("失败啦!返回" + a);

} else {

System.out.println("成功!返回" + a);

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

还有问题的话可以到帮助文档中寻找答案或者帆软论坛求助

java 怎么用润乾报表做打印功能

用浏览器自带的打印功能直接打印;这种方式是最直接的,方便的,不需要加什么插件jar包,只要前台在一个 div 中模仿着报表的格式去设置界面布局,然后把数据动态的填充进去,再调用JavaScript打印函数,就可以实现界面的局部打印功能。(如果不想让报表div在界面中显示出来可以隐藏之)PS:不过直接在前台界面打印还是会遇到意想不到的情况,不同浏览器的问题,反正我就遇到不同浏览器打印出来的报表排版不一的情况,用的时候需要注意。eg:pre t="code" l="java"div布局

div id="printdiv" style="display:none;"

table id="tableid" class="main" cellspacing="0" cellpadding="0" border="1"

bordercolor="#" width="800px;"

/****** your code ******/

/table

/div

JavaScript部分:(自己根据需要选择触发响应的JS函数)

function windowprint() {

var f = document.getElementById("printdiv");

f.style.display = "";

window.print();

f.style.display = "none";

}

function myPrint(obj){

var newWindow=window.open("打印窗口","_blank");

var docStr = obj.innerHTML;

newWindow.document.write(docStr);

newWindow.document.close();

newWindow.print();

newWindow.close();

}

java用ireport 打印报表,求助大神

将需要批量打印的内容生成的结果集传递给报表模板就可以了,会自动批量打印。

不预览循环批量打印要怎样实现?

需要调用打印接口 JasperPrintManager类可以直接实现打印。具体资料你可以参考Api

我用的是printReport 方法。

主要就是先在服务器端生成JasperPrint对象,返回给客户端。

下面代码百度到的,你可以参考。

import java.io.File;

import java.io.ObjectOutputStream;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NameNotFoundException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.sql.DataSource;

import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperPrintManager;

import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import com.lowagie.text.ExceptionConverter;

import com.sofn.struts.dto.UserInfoDTO;

import com.sofn.struts.op.UserInfo;

import com.sofn.util.UserSessionOperate;

public class ReportViewAction extends Action {

(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)

public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response)

throws Exception {

//已编译文件路径和格式

String fp =this.getServlet().getServletContext().getRealPath("/")+ "report\\jasper\\"+ request.getAttribute("rdoc")+ ".jasper";

File reportFile = new File(fp);

// System.out.println("报表路径!!!!!!!"+reportFile);

Map parameters = (Map) request.getAttribute("paras");

byte[] bytes = null;

List list = new ArrayList();

DataSource ds = null;

JasperPrint jasperPrint=null;

//参数传递

UserSessionOperate uso = new UserSessionOperate();

String user = uso.getUser(request);

UserInfo eidr = new UserInfo();

UserInfoDTO eidrdto = null;

String deptname = "物流部门";

String username = "陈云刚";

parameters.put("marker", username);

parameters.put("bumen", deptname);

//数据库连接

try {

String source = "java:comp/env/jdbc/posuse";

Context ic = null;

if (ic == null)

ic = new InitialContext();

ds = (DataSource) ic.lookup(source);

if (ds == null) {

System.out.println("Reportview----22222!");

}

} catch (NameNotFoundException nfe) {

nfe.toString());

} catch (Exception ne) {

ne.printStackTrace();

}

//使用数据源

if (request.getAttribute("datasource") != null) {

list = (List) request.getAttribute("reportlist");

JRBeanCollectionDataSource jds =new JRBeanCollectionDataSource(list); //使用数据源

}

//使用SQL查询

try {

jasperPrint =JasperFillManager.fillReport(reportFile.getPath(),parameters,ds.getConnection());//填充报表数据生成JasperPrint对象

JasperPrintManager.printReport(jasperPrint, false);//2008-08-25 直接打印,不用预览PDF直接打印 true为弹出打印机选择.false为直接打印.

} catch (JRException jre) {

//System.out.println("Reportview----JRException88888");

jre.printStackTrace();

} catch (ExceptionConverter ec) {

ec.getLocalizedMessage());

ec.printStackTrace();

} catch (NullPointerException npe) {

npe.getLocalizedMessage());

npe.getMessage());

npe.toString());

System.err);

} catch (Exception ee) {

ee.printStackTrace();

}

//输出

response.setContentType("application/octet-stream");

ServletOutputStream ouputStream = response.getOutputStream();

ObjectOutputStream oos = new ObjectOutputStream(ouputStream);

oos.writeObject(jasperPrint);//将JasperPrint对象写入对象输出流中

oos.flush();

oos.close();

ouputStream.flush();

ouputStream.close();

return mapping.findForward("view"); //转向

}

}

java 有哪些免费报表工具啊,可以报表打印。

1. BIRT Project

BIRT报表是一款非常流行的开源报表开发工具。拥有和Dreamweaver一般的操作界面,可以像画table一样画报表,生成图片,导出Excel,html分页样样齐全,样式和script设置简单。

2. Pentaho

Pentaho Report Designer是一款所见即所得的开源报表设计工具。在设计报表的时候,用户可以随意拖放和设置各种报表的控件,还可以快速方便地设置报表的数据来源。在报表的设计过程中,用户可以随时预览报表的结果。

3. OpenRPT

OpenRPT支持各种平台PostgreSQL的最佳化的图形化界面的SQL报表撰写。

4. OpenReports

OpenReports 提供基于web 的灵活报表解决方案,支持 PDF,HTML 和XLS 报表格式,基于WebWork,Hibernate 和 Velocity 开发完成,并且还提供一个整合了Tomcat 的OpenReports-Tomcat 文件下载。使用Java进行开发,JasperReports 作为报表引擎。

5. FreeReportBuilder

FreeReportBuilder是一个Java报表工具,可以与任何数据库正常工作,只需要有一个JDBC驱动程序。

6. JMagallanes

JMagallanes是一个开源的使用Java/J2EE开发的Olap和动态报表应用程序。JMagallanes结合了静态报表(基于JasperReports),Swing pivot表格(用于OLAP分析),和图表(基于JFreeChart)。它可从多种数据源(如:SQL,Excel,XML和其它)读取数据并可生成多种输出如:PDF,XML,应用程序特殊文件用于将来报表的脱机查看。

7. ART – A lightweight reporting solution

ART是一个轻量级的,多平台基于web的报表引擎。定制容易,支持图形报表,支持通过插件把结果导出为各种格式。

8. DataVision

DataVision是一个用Java编写的类似于Crystal Reports的报表工具。它支持多种数据源(JDBC, 文本文件) ,输出格式有HTML, XML, PDF, LaTeX, 逗号或tab分隔的数据文件, 和DocBook。它让你用一个支持拖放操作的GUI设计报表,报表描述存储为XML。

9. The Wabit – Open Source Reporting Tool

Wabit 是一个跨平台开源的报表工具,提供了一个GUI程序和可嵌入式的接口。

10. Rlib

RLIB是一个基于XML的报表引擎,可以生成PDF,HTML,CSV,文本格式

11. JavaEye Reporting Tool – JERT

JERT是一个开放源代码的,基于web的,数据库报表工具,它能够让你不需要编程而能创建各种灵活的报表。

12. iReport

iReport是一个能够创建复杂报表的开源项目,并且它能调用JasperReports库应用于任何一种java应用程序,使用纯Java编写,拥有非常丰富的图形界面。

参考:

关于java打印报表和java打印列表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。