报表工具如何实现多次导入Excel

很多人在开发报表的时候会遇到将多张表样相同的excel导入到模板,然后提交至数据库中。但问题是很多情况,在线导入不支持一次性选择多个excel,一次只能选择一个excel,也不能将多个excel中的数据在不提交入库的前提下导入到模板中,即如果在导入excel之前,web页面里面有数据,导入excel之后会覆盖之前的数据。

那这样的问题是不是无法解决呢?

解决的思路是利用FineReport自定义一个excel导入按钮,在点击该按钮的时候将上一次导入到模板中的数据进行提交,同时刷新页面,让页面恢复到原始的空白状态,并实现excel导入操作,然后再点击导入按钮,导入下一个excel,以此类推,这样在操作上就会简单很多。

比如将下面2张表样相同的excel导入到FineReport模板中:

1.修改其表样,使其与excel中的标题名保持一致,如下图:

2.报表填报属性修改

修改报表填报属性中列和数据库中列的对应,这里只需要修改类别ID对应的值,修改为map(C2, "ds2", 2, 1)。

3.自定义导入按钮

点击模板>模板web属性>填报页面设置,双击工具栏中的自定义按钮,将该按钮添加到顶部工具栏中,同时删除内置的导入Excel按钮和提交按钮,如下图:


 4.自定义事件编写

在解决思路中描述了自定义按钮需要执行的操作为:在点击按钮的时候将上一次导入到模板中的数据进行提交,同时刷新页面,让页面恢复到原始的空白状态,并实现excel导入操作。

在工具栏编辑界面,选中自定义按钮,点击自定义事件,如下图:


 在JavaScript脚本中写下js语句,如下图:

var value=contentPane.getCellValue(0,1,2);  
if (value!="") {    
    FR.Msg.confirm("提示", "是否提交上一次导入数据", function(result){  
            if(result){  
            _g(‘${sessionID}‘).writeReport();  
            contentPane.refreshAllSheets();  
            contentPane.importExcel();  
        }  
        });  
}   
else{  
    contentPane.importExcel();  
    }

点击填报预览,点击导入Excel这个自定义按钮,选择第一个需要导入的Excel,然后再点击第二个需要导入的Excel,页面会提示是否提交上一次导入数据,点击确定,则会将上一次导入数据提交至数据库,然后再弹出文件选择框,这时就可以选择第二个Excel,以此类推。

要提醒的是,在利用此工具填报报表在线多次导入Excel时只支持空白模板的导入,即填报模板中不能有原始数据存在;在线多次导入Excel支持各种样式的填报报表,不仅仅局限于行式填报报表,但是如果是非行式填报报表,报表的控件位置需要与Excel中的数据位置保持一致,行式填报报表则需要保持标题名一致。

时间: 2024-11-15 05:41:30

报表工具如何实现多次导入Excel的相关文章

导入Excel工具类

import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.stereotype.Component; import or

设计与开发一款简单易用的Web报表工具(支持常用关系数据及hadoop、hbase等)

EasyReport是一个简单易用的Web报表工具(支持Hadoop,HBase及各种关系型数据库),它的主要功能是把SQL语句查询出的行列结构转换成HTML表格(Table),并支持表格的跨行(RowSpan)与跨列(ColSpan).同时它还支持报表Excel导出.图表显示及固定表头与左边列的功能.总体架构如下图所示: 目录 开发环境(Development Environment) 安装与部署(Installation & Deployment) 从源代码安装(From Source Co

常用报表工具

报表工具:是帮助用户用来展现自己输入数据,更多时候是将数据库中的数据,以客户想要的方式展现出来. 中文名 报表工具 目 的 以客户想要的方式展现出来 性 质 动态显示数据 报表工具 SVF水晶报表JReport 目录 1报表工具评述 ? 目前国内报表工具概述 ? 简述几款主流报表工具 2如何选择报表工具 1报表工具评述编辑 目前国内报表工具概述 很多国际品牌的报表工具基本上都能把数据库的数据取出来运算排列制作出动态的变长统计报表,也就是“报”的能力不错.但“表”的功能就不是很好了.所以国产报表还

报表工具的二次革命之集算器的作用

之前的文章已经大致给大家介绍过大数据计算引擎-润乾集算器了.想必很多人心里还是存在疑惑,集算器作为大数据分析系统,到底它能做些什么?这篇文章,就为大家详细介绍. 降低报表开发难度 降低开发难度从而提高开发效率是集算器的设计初衷,是最容易理解的作用,前面已有粗略介绍. 这方面的细节内容太多,我们会再做一个专门话题详细讲述集算器如何解决报表开发中的各种具体难题以及与常规手段的对比.在这里只做总结性地阐述. 比Java和SQL更易写 如前所述,集算器的设计目标是为了解决报表的数据准备,而目前这个工作一

如何基于报表工具FineReport进行二次开发

随着FineReport的发展,它提供的设计器和服务器应该能够满足绝大部分的需求,完全实现零编码的软件开发.革命性地加快软件的开发以及提高软件的稳定性.但是需求千变万化,而FineReport本身所具备的功能是报表中比较典型的,一些比较有个性的功能无法实现,那么就需要应用开发人间使用网页脚本.API接口等进行深入的开发,而这一点,FineReport报表工具是支持的,那么如何来实现插件开发呢? Ant打包 Ant是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简

Java的poi技术读取和导入Excel

报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑.Java程序由于其跨平台特性,不能直接操纵Excel.因此,本文探讨一下POI视线Java程序进行Excel的读取和导入. AD:WOT2014:用户标签系统与用户数据化运营培训专场 项目结构: 用到的Excel文件: XlsMain .java 类 //该类有main方法,主要负责运行程序,同时该类中也包含了用poi读取Excel(2003版) import java.io.FileInputSt

Asp.NET MVC 导入Excel数据教程 手把手教你系列!!!

先上效果图 1.引言 小弟最近接了个大学生的毕业设计,收了100块钱让做一个ASP.NET MVC导入Excel到数据库的功能,由于以前没做过就到处搜索资料,但是发现网上的资料不是直接贴一大堆乱起八遭的源码,就是需要借用NPOI第三方类库太麻烦了,况且预算才100RMB简直不值得,所以小弟尝试自己动手丰衣足食,所以就有了这篇博客. 先上一张小弟的思路图: (说明:没有安装做流程图的软件!凑合着看吧) 2 进入正题 首先跟着小弟先创建一个默认的MVC项目(相信大家都会创建,这里就不演示了) 第一步

Java 报表工具

1.报表工具基本功能 报表工具一般提供一下功能: 支持多种数据源,而且数据源可配置. 支持脚本式的样式定义,一般是基于XML的,可灵活修改,一般提供样式编辑器.一般支持基于打印的样式定义,支持报表头尾.页面头尾.分组等概念. 将数据源和样式定义,输入到报表引擎,可输出为多种格式,包括PDF.EXCEL等. 2.报表工具的使用 从报表工具的基本功能来看,使用报表工具,核心是两个,一个是数据源的定义,一个是样式的定义. 数据源的定义比较简单,一般是数据库,按照报表工具要求的配置好连接池,依照业务需求

报表工具Stimulsoft Reports快速生成.NET简单列报表

在.NET开发中经常会涉及到报表的开发,通常我们采用报表工具来快速生成报表,报表生成工具最常用的是水晶报表.Stimusoft Reports,下面我们以Stimulsoft Reports为例,做一个快速生成报表的教程,同时水晶报表也可以同时导入到Stimulsoft Reports中使用. 现在开始创建简单列报表: 打开VS2012,找到Stimulsoft Reports控件 1.运行报表工具的报表设计器 2.连接数据库: 2.1创建新的连接 2.2创建新的数据源 3.把需要展现在报表上的