自定义按钮打印导出隐藏报表

在报表导出的时候,随着需求的变化,有些客户希望报表不在页面上展现。但是需要有一些按钮能够实现导出和打印的功能。

比如在一个JSP页面上有三张隐藏报表,然后有三组按钮能够分别对报表进行打印和导出。

那么在这里我举例说明一下,如何对三张不同的隐藏的报表分别进行打印和导出EXCEL(实现导出word,pdf,text跟导出EXCEL同理)。

首先,新建三张报表:hidden1.raqhidden2.raqhidden3.raq

新建一张hidden.jsp,内容如下:

<%@ page contentType=”text/html;charset=GBK” %>

<%@ taglib uri=”/WEB-INF/runqianReport4.tld” prefix=”report” %>

<%@ page import=”java.io.*”%>

<%@ page import=”java.util.*”%>

<%@ page import=”com.runqian.report4.usermodel.Context”%>

<%@ page contentType=”text/html;charset=GBK” %>

 

<% String appmap = request.getContextPath();

 

String printImage1 = “<img src=’” + appmap + “/images/print.gif’ border=no >”;

String printImage2 = “<img src=’” + appmap + “/images/print.gif’ border=no >”;

String printImage3 = “<img src=’” + appmap + “/images/print.gif’ border=no >”;

String excelImage1 = “<img src=’” + appmap + “/images/excel.gif’ border=no >”;

String excelImage2 = “<img src=’” + appmap + “/images/excel.gif’ border=no >”;

String excelImage3 = “<img src=’” + appmap + “/images/excel.gif’ border=no >”;

 

%>

 

<table id=titleTable width=100% cellspacing=0 cellpadding=0 border=0 ><tr>

<td height=”22″ width=100% valign=”middle” style=”font-size:13px” background=”../images/ta51top.jpg”>

<table width=”100%”>

<tr >

<td width=53% align=”left” style=”font-size:13px” >&nbsp;&nbsp;&nbsp;&nbsp;</td>

<td width=”47%” align=”center” valign=”middle” style=”font-size:12px” ><span id=”t_page_span”></span>/<span id=”c_page_span”></span>&nbsp;&nbsp;

<a href=”#” onClick=”report1_print();return false;”><%=printImage1%></a>

<a href=”#” onClick=”report2_print();return false;”><%=printImage2%></a>

<a href=”#” onClick=”report3_print();return false;”><%=printImage3%></a>

<a href=”#” onClick=”report1_saveAsExcel();return false;”><%=excelImage1%></a>

<a href=”#” onClick=”report2_saveAsExcel();return false;”><%=excelImage2%></a>

<a href=”#” onClick=”report3_saveAsExcel();return false;”><%=excelImage3%></a>

</td>

</tr>

</table>

</td>

</table>

 

 

//以下代码是在hidden.jsp上发布了三张raq文件

<div>

<table align=”center” width=”100%” height=”100%” >

<tr style=”display:none”><td>

<report:html name=”report1” reportFileName=”hidden1.raq”

/>

<report:html name=”report2” reportFileName=”hidden2.raq”

/>

<report:html name=”report3” reportFileName=”hidden3.raq”

/>

</td></tr>

</table>

</div>

请注意以上代码中红色字体部分,html name是和打印导出所调用的onClick的方法名称是一致的。<tr style=”display:none”>将报表隐藏起来。

访问该JSP页面效果如下图:

只有6个按钮,报表已经被隐藏了。

其中第一个打印按钮对应hidden1.raq, 第二个打印按钮对应hidden2.raq,

第一个导出EXCEL按钮对应hidden1.raq,第二个导出EXCEL按钮对应hidden2.raq。以此类推。

上例样式比较单一,如果想让报表样式美观一点的话,更改hidden.jsp中的HTML布局即可。

热门文章