分享报表组不展示直接下载 excel 的 url

实际项目中可能可能会有一种需求,不需要在浏览器端展示报表组文件,直接通过访问某个 url,直接将报表组转换成 excel 进行下载,这种需求有多种方式实现,可以通过 api 计算,这个在乾学院中搜索“报表组”关键字能查到,实际使用时还有更简单的方法。
报表或者报表组在浏览器端展示时,上方会生成一个工具条,上边有导出 excel、导出 pdf 等按钮,点击时能够执行对应导出,实际上这些按钮点击时调用的方法就是后台生成的 url,那么完全可以自己调用这些 url 来实现报表(报表组)不展示从而直接导出的方法。
对应的 url 写法如下:
http://localhost:6868/demo/reportServlet?action=3&file=%2F10%24u57FA%24u672C%24u62A5%24u8868%2F%24u62A5%24u8868%24u7EC4.rpg&isGroup=1&excelFormat=xls
前边是访问报表的 ip,端口,应用名,这些按照实际的更改,file 处是报表组名,isGroup=1 表示是报表组,excelFormat 是导出 excel 的格式,可以是 xls,也可以设置成 xlsx,实际使用时还需要传入参数,如果需要传入参数,在 url 后边拼接 &paramString= 参数名 1= 参数值 1; 参数名 2= 参数值 2 ,多个参数用; 隔开,这样就可以了。
对应不同的导出文件,提供了多个 url,具体 url 查看有个简单方法,可以先通过浏览器展示报表,然后页面端点击右键,选择查看网页源代码,在源代码里搜索下 saveAsExcel,就能看到对应导出 excel 的方法,比如:

imagepng
如果要导出其他格式,找下对应的 url 就可以了,主要是如果需要传参数,将 reportParamsId(报表参数缓存 ID,如果不通过 jsp 展示,那么就没这个 id 了)换成 paramString 就可以了。
上边是报表组的方式,普通报表也是类似的方法。