每次导出报表带系统时间区别报表名称
需求描述
需要经常性地导出报表从而完成对数据的传阅和存储,而默认导出excel时会每次提示该报表名称已存在,是否替换或者更改名称,很不方便,希望能每次导出时在报表名称后面自动添加系统时间,这样既能明确区分导出的excel文件的时间,也免去了每次手动设置文件名称的麻烦。
例如,类似下面这样的导出效果:
解决方案
使用润乾报表的 saveAsName标签。
在发布报表中添加获取系统时间的代码,获取报表名称拼接后传给 saveAsName 标签,这样导出后就可以保存成报表名称+系统时间的形式。
主要代码:
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
java.util.Date currentTime = new java.util.Date();//得到当前系统时间
String str_date1 = formatter.format(currentTime); //将日期时间格式化
//System.out.println(“111″+str_date1);
request.setCharacterEncoding( ”GBK” );
String report = request.getParameter( ”raq” );
String reportFileHome=Context.getInitCtx().getMainDir();
StringBuffer param=new StringBuffer();
String substr=report.substring(1,(report.length()-4));
String add = substr+str_date1;
System.out.println(add);
展现标签引入拼接好的报表名称:
<report:html name=”report1″ reportFileName=”<%=report%>”
funcBarLocation=”top”
needPageMark=”yes”
generateParamForm=”no”
params=”<%=param.toString()%>”
exceptionPage=”/reportJsp/myError2.jsp”
appletJarName=”runqianReport4Applet.jar,dmGraphApplet.jar”
needImportExcel=”yes”
needSaveAsExcel=”yes”
needScroll=”yes”
scrollWidth=”1400″
scrollHeight=”620″
saveAsName=”<%=add%>”
inputListener=”InputListener2″
saveDataByListener=”yes”
/>