`

报表工具如何实现多次导入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中的数据位置保持一致,行式填报报表则需要保持标题名一致。

 

 

  • 大小: 26.6 KB
  • 大小: 4.6 KB
  • 大小: 9.3 KB
  • 大小: 7.9 KB
  • 大小: 20.8 KB
1
2
分享到:
评论
2 楼 if(i!=我){} 2016-05-27  
引用

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


也许只有你觉得这个是个问题,然后用了个不知所以然的方式解决………………,没有“很多人”,也没有“无法解决”,这个锅“很多人”不背,谢谢。
1 楼 指尖残血 2016-05-27  
可以使用多文件上传来实现哦

相关推荐

    多功能通用Excel导入导出数据

    标题 "多功能通用Excel导入导出数据" 描述的是一个针对Excel数据处理的工具或库,它已经被二次封装,简化了导入导出操作。用户只需引入指定的jar包,并通过一行代码即可实现数据的导入和导出功能。描述中强调了其...

    通用excel凭证导入工具(T3).zip

    而“通用excel凭证导入工具”是T3系统的一个扩展组件,它允许用户利用Excel的便捷性预先整理好凭证数据,然后一次性批量导入到T3系统中,大大提升了凭证处理的速度。 Excel作为广泛使用的电子表格软件,拥有强大的...

    C#通用Excel导入导出工具类

    本篇文章将深入探讨“C#通用Excel导入导出工具类”的实现原理及应用,主要涉及的技术点包括反射、特性以及如何创建一个高效的Excel导入导出解决方案。 首先,我们要理解反射在C#中的作用。反射是一种强大的机制,它...

    EXCEL万能导入工具到SQL

    1. **批量导入**:一次性处理多个Excel文件,将数据批量导入到SQL数据库,极大地提高了工作效率。 2. **格式转换**:自动或手动将Excel数据格式调整为符合SQL数据库字段类型的要求,如字符串、整数、日期等。 3. **...

    Java实现Excel导入导出操作详解.pptx.pptx

    Java实现Excel导入导出是Java开发中常见的任务,主要用于数据的批量处理和分析,尤其在数据分析、报表生成和数据备份等方面具有广泛应用。要熟练掌握这一技术,开发者需要了解Excel文件的结构,熟悉Java的文件操作,...

    Delphi报表的Excel导入导出操作实例

    二、导入Excel数据 1. 创建一个新的Delphi工程,添加一个表格控件(如DBGrid)和一个数据源控件(如TDataSource)。 2. 使用TExcelFile组件打开Excel文件,该组件提供了Open方法来加载Excel工作簿。 3. 通过...

    Excel导入工具——通用版本(大家学习研究)

    由于此工具一次只能导入一张表,这意味着如果你的Excel文件中包含多个工作表,你需要分别进行导入操作。每个工作表被视为一个独立的数据源,所以如果你需要导入所有数据,必须逐个处理。这也提示我们在组织数据时,...

    纯前端:luckysheet在线编辑Excel导出,Excel文件导入

    《纯前端实现:Luckysheet在线编辑Excel及文件导入导出详解》 在现代Web应用中,处理Excel数据已经成为一种常见的需求,特别是在数据分析、报表制作等领域。本文将深入探讨一个纯前端解决方案——Luckysheet,它...

    导入EXCEL.zip

    在Java编程环境中,导入Excel是一项常见的任务,尤其在数据分析、报表生成或数据处理等领域。Excel文件,通常是.XLS或.XLSX格式,可以存储大量结构化的表格数据。本压缩包"导入EXCEL.zip"提供了JAVA导入Excel的源码...

    数据导入导出Excel

    在IT行业中,数据导入导出Excel是一项常见的任务,特别是在数据分析、报表生成以及系统间的数据交换等领域。本项目可能提供了一种实用的方法来处理这类需求。下面将详细解释相关的知识点。 首先,我们要理解什么是...

    Excel导入工具

    其次,该工具通常具备批量处理能力,允许用户一次性导入或导出多个Excel文件,大大节省了手动操作的时间。同时,它可能还提供数据预处理功能,如数据清洗、格式转换,以确保导入的数据符合目标系统的字段要求。 在...

    易语言excel导出导入模块

    导入Excel文件则涉及以下步骤: 1. **打开文件**:首先,需要使用易语言的API函数读取并打开指定路径的Excel文件。 2. **获取工作表**:读取文件后,我们需要选择要导入数据的工作表。 3. **读取单元格**:从工作...

    Asp.Net实现Excel导入SQL Server

    在Asp.Net中实现Excel数据导入到SQL Server是一项常见的任务,尤其在数据处理和报表生成等领域。本示例(ImportDemo)将展示如何在win7系统环境下,利用VS2008开发工具,配合SQL2005数据库和Office2010的Excel文件,...

    Excel插件,一键自动导入导出处理图片,批量处理Excel

    在描述中提到的一键自动导入导出处理图片功能,是指通过插件实现快速批量导入多张图片到Excel工作簿,并且能够自定义导入方式,如图片大小调整、位置设定等。此外,该插件还能一键导出Excel内的图片,方便在其他地方...

    c#实现excel数据高效导入到sql数据库

    本主题聚焦于使用C#编程语言实现Excel数据的高效导入到SQL数据库的过程,这在数据库管理、数据分析以及报表生成等场景下非常实用。下面我们将详细探讨这个过程涉及的关键知识点。 首先,要实现这一功能,我们需要对...

    Excel文件导入导出

    在IT行业中,Excel文件的导入和导出是一个常见的任务,特别是在数据分析、报表生成以及数据交换等领域。Excel由于其直观易用的界面和强大的表格处理功能,成为企业和个人处理数据的首选工具之一。以下是对"Excel文件...

    C# Excel大量数据快速导入数据库源码

    `SqlBulkCopy`的优点在于它可以显著提高数据导入速度,因为它避免了多次数据库往返,而是将多行数据作为一个批次处理。 导入过程可能包含以下步骤: 1. 打开Excel文件并读取数据,这可能使用了`Range`对象和`Value`...

    导入导出Excel表格java

    4. **导入Excel数据** - 可以通过遍历所有行和列来读取数据,根据实际需求进行解析和处理。 - 数据校验:检查数据类型、格式、范围等,确保数据质量。 5. **导出Excel数据** - 根据业务需求创建合适的Excel结构...

    优秀的excel导入导出源码(c#)

    这个版本号暗示了源码可能经过了多次迭代和优化,提升了稳定性和性能。通常,版本号的更新意味着修复了已知问题,增加了新功能,或者进行了性能提升。 综上所述,优秀的Excel导入导出源码(C#)涉及到的关键技术...

    excel批量导入oracle数据库

    总之,批量导入Excel数据到Oracle数据库需要理解数据预处理、数据库表结构、数据转换、数据导入工具以及性能优化等多方面知识。通过合理规划和实施,可以有效地实现大量数据的快速迁移,提升工作效率。

Global site tag (gtag.js) - Google Analytics