Jasperreport5.6.9-----2

时间:2022-08-25 11:22:31
Jasperreport5.6.0生成PDF
 
上一篇讲的是jasperreport5.6.0生成pdf,运行后可以生成pdf,可是和我们的需求有点差距,我们是要求生成后,可以直接打开或保存,这就需要response的设置了,如下代码:

//ireport生成项目立项PDF格式

public String getIreportPDFAction()

{

Connection conn =null;//连接

try {

String projectapproid =request.getParameter("projectapproid");

////连接JDBC得到数据URL

String url ="jdbc:oracle:thin:@192.168.1.104:1521:orcl";

Class.forName("oracle.jdbc.driver.OracleDriver");

conn = DriverManager.getConnection(url,"zwjx","zwjx");

//设置参数

Map parmerters = new HashMap();

parmerters.put("projectapproid", projectapproid);

//读取报表模板文件

FilejasperFile=new File("D:/Workspaces/zwjxSystem/WebRoot/jasper/report1.jasper");

//设置报表中参数的值

Map map =new HashMap();

map.put("projectapproid", projectapproid);

//输出流

OutputStream ous =response.getOutputStream();

//输出文件名

String filenames="项目立项";

//打印

JasperPrint print =JasperFillManager.fillReport(jasperFile.getPath(), map,conn);

//        //生成pdf

JRAbstractExporter exporter =newJRPdfExporter();

response.reset();

response.setContentType("application/pdf");

response.setHeader("Content-Disposition","attachment;filename="+new String(filenames.getBytes("gbk"),"iso8859-1")+".pdf");

//指向

JasperReportsUtils.render(exporter, print,ous);

ous.flush();

ous.close();

}catch (Exceptione) {

e.printStackTrace();

System.out.println("ireport生成报表出错!");

}finally

{

try {

conn.close();

}catch(SQLException e) {

//TODO Auto-generated catch block

e.printStackTrace();

}

}

returnnull;

}

运行后,弹出如下对话框,我们可以根据需要选择。可以直接打开,也可以保存。

Jasperreport5.6.9-----2

Jasperreport5.6.9-----2的更多相关文章

  1. Jasperreport5.6.9-----1

    Jasperreport5.6.0生成PDF 最近项目中需要生成报表,先是看了下itext,觉得还可以,但是如果数据字段多的话,不太灵活.所以后来看了下ireport,觉得还可以,下面简单说一下它们: ...

  2. 使用jasperreports-5.6.0.jar导致的问题

    使用jasperreports-5.6.0.jar导致的问题 Struts2+jasperReport5.6如下设置: <!-- 社员档案 --> <package name=&qu ...

  3. ireport导出中英文pdf

    准备: 报表开发工具:ireport 5.6.0 报表框架: jasperreport5.6.0 1.中文格式设置pdf fontname.isembedded.pdfencoding pdf fon ...

随机推荐

  1. mysql 5&period;7中的用户权限分配相关解读!

    这篇文章主要介绍了MySQL中基本的用户和权限管理方法,包括各个权限所能操作的事务以及操作权限的一些常用命令语句,是MySQL入门学习中的基础知识,需要的朋友可以参考下 一.简介 各大帖子及文章都会讲 ...

  2. 关于yuv与rgb的互转

    来自以下网址:http://*.com/questions/9465815/rgb-to-yuv420-algorithm-efficiency #define CLIP(X) ...

  3. SFTP&plus;OpenSSH&plus;ChrootDirectory设置

    账户设置 SFTP的账户直接使用Linux操作系统账户,我们可以用useradd命令来创建账户. 首先建立3个要管理的目录:   1 2 3 mkdir /home/sftp/homepage mkd ...

  4. 另一套Oracle SQL练习题&comma;更新参考答案

    题干: create table student( sno ) primary key, sname ), sage ), ssex ) ); create table teacher( tno ) ...

  5. 在ASP&period;NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移

    在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移 最近发布的ASP.NET MVC 5 及Visual ...

  6. com&period;intellij&period;javaee&period;oss&period;admin&period;jmx&period;JmxAdminException&colon; com&period;intellij&period;execution&period;ExecutionException idea 导出war 报错

    com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException 部署到in ...

  7. XML 新手入门基础知识(复制,留着自己看)

    如果您是 XML 新手,本文将为您介绍 XML 文档的基础结构,以及创建构造良好的 XML 需要遵循的规则,包括命名约定.正确的标记嵌套.属性规则.声明和实体.您还可以从本文了解到 DTD 和 sch ...

  8. map&sol;vector erase

    问题核心:erase之后迭代器是否失效 vector调用erase之后,该迭代器之后的迭代器都失效: map调用erase之后,其他迭代器并不会失效. vector<int> vecDat ...

  9. kafka 消费模型图

  10. skynet框架之日程表设计

    参考云风大神的例子,对其进行了改进,支持多次提交单个日程,改变时间后,提前日程触发时间. --[[ t提供了两种方案 方案1和2 ]] local skynet = require "sky ...