报表知识库
我要提问

每次导出报表带系统时间区别报表名称

需求描述

需要经常性地导出报表从而完成对数据的传阅和存储,而默认导出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”

         />

标签: