js实现导出当前页导出excel

客户需求背景:

一些客户由于报表数据量很大,使用分页标签后报表分的页数很多,所以导出excel后会出现很多的sheet页,这样很不方便客户查看,很难找到客户需要的数据,所以客户希望只对

目前正在查看的当前页导出excel。

 

实现思路:

由于这种需求希望只对当面页面的数据导出,所以无法直接使用报表计算的缓存,而换一种思路,如果直接使用js对当前html里面里面的table导出成excel,这样就很容易实现导出当前页的需求了。

 

实现方法:

将html的table导出成excel的javascript的代码如下:

<script language="javascript">

  function excel() {

 

    var curTbl =document.getElementById("report1");

    var oXL = newActiveXObject("Excel.Application");

    var oWB = oXL.Workbooks.Add();

    var oSheet = oWB.ActiveSheet;

    var sel =document.body.createTextRange();

    sel.moveToElementText(curTbl);

    sel.select();

    sel.execCommand("Copy");

    oSheet.Paste();

    oXL.Visible = true;

 

}                                  

</script>

把这段代码加到jsp中,然后在jsp加入如下内容:<input type="button" value="导出当前页" οnclick="excel()">,也就是写了一个按钮,调用上面导出当前页的js函数。

用这张jsp发布报表。

点击上图中的导出当前页按钮,可以看到弹出一个excel,excel的内容为当前页的数据,具体的情况如下图所示:


然后对这个excel进行保存就可以了。

 

这样报表导出当前页的需求就实现了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值