基于Java的批量数据导入及验证技术的研究与应用论文_洪丹丹

大庆油田有限责任公司 第九采油厂信息中心 黑龙江大庆 163853

摘要:本文介绍数据批量上传技术的发展现状,详细研究了在WEB应用系统中实现基于Java的数据导入及验证的技术与方法,并给出该方法在部门职责与岗位说明书系统、物资管理系统中的具体应用。本方法主要采用了Java 语言、SQL语句。

关键字:Java;数据导入;数据验证

第一章 绪论

1.1 研究背景

随着信息技术的普及,各企事业单位提倡无纸化办公,要求资料电子存档,数据进机入库,再加上一些应用系统的投用,导致大量的基础数据需要批量导入数据库。油田企业为了顺应时代潮流,节本增效,提出了建立数字油田、智能油田、智慧油田,这就涉及到部分底层的数据需要批量导入。过去往往是由用户提供数据,系统研发人员或运维人员进行批量导入。

1.2 批量数据导入技术的研究现状

1.2.1 通过CSV等文件导入数据库

需要专业人员将数据按照数据表字段名编辑好,存入Dbase文件、文本文件、CSV文件、HTML文件等后,通过数据库管理软件,批量导入到数据库。优点是操作快捷直观,不需要太难的专业知识;缺点是数据的验证工作量较大,人为失误不好控制,且难以监管。

1.2.2 应用VBA方法批量导入

利用VBA技术,可以在微软系列办公软件中嵌入各种灵活的自定义解决方案,在微软系列办公软件平台下,利用VBA 技术开发自定义功能的应用程序,能够实现扩展微软系列办公软件的功能。

如果目标窗口未找到,显示警告对话框;如果导入数据完毕,则显示成功导入消息对话框。利用 VBA技术批量转换数据优点是数据转换功能方便用户定制,VBA语法简单易学;缺点是VBA语言逐步被淘汰,应用较少,数据量大时速度慢。

1.2.3借助报表工具进行导入

需要在系统中嵌入报表工具,如易表、皕杰报表等,优点是部署较方便,用户操作起来也比较直观易上手;缺点是定期要更新授权,给研发人员带来了一定工作量,在设置参数、变量时相对复杂。

1.3需要解决的问题

针对以上情况,本文需要解决如下问题:

(1)解决批量上传时无响应或响应时间长的问题

(2)减少运维人员在数据批量上传过程中工作量

(3)解决上传失败必须人工校检数据的问题

第二章 基于JAVA的批量数据导入及验证技术的研究

2.1 Java Excel Api

当前主要有两种Java Excel Api开源项目,一个是POI,一个是JXL。POI是Apache的一个子项目,主要提供一组操作基于OLE2的windows文档(如Excel, Word,PowerPoint甚至是Visio)的纯JavaAPI;JXL即jExcelAPI,专门用于完成创建,读取以及更新Excel文件等功能,而不能处理Windows其他文档。POI的功能比JXL要强,并提供了完整的Api用于接入所有基于OLE2的Windows文档,但是POI在内存处理方面不如JXL。两者在处理Excel文档的思路基本相同,首先通过流(InputStream)得到Excel文件,按照Excel文档的结构(即工作薄WorkBook,工作表WorkSheet,单元格WorkCell)创建相应的对象,通过对象取出单元格数据。

2.2 批量数据上传组件

批量数据导入是以文件的方式完成的。基于Java的文件上传组件主要有两个,一个是JspSmartUpload,另一个是Commons.fileupload。它们使用都很简单, 能全程控制上传,能对上传的文件在大小、类型等方面做出限制。 JspSmartUpload组件是jspsmart的一个项目,适于嵌入执行上传下载操作的JSP 文件中;Commons.fileupload是Spring的一个集成子功能,可在Spring的架构下方便的使用。

图1 导入流程示意图

2.3基于 Java 的批量数据导入的实现流程

基于Java的批量数据导入的实现流程如图1所示。批量数据导入功能的实现流程为,首先将Excel数据文件通过Commons.fileupload组件上传到服务 器指定路径,上传成功后,服务器使用JXL对Excel数据文件进行解读,然后使用标准Sql对数据进行插入,从而完成导入的功能。

第三章 该技术在系统中的具体应用

本文以物资管理系统为例,介绍基于Java的批量数据导入及验证的实现过程。

3.1上传文件

首先在前台jsp文件中创建function,如图2所示。

图2 前台编码图例

其次创建uploadAction方法,如图3所示。

图3 uploadAction方法图例 图4 wirteExeclService代码图例

3.2解读文件

创建wirteExeclService.java方法的代码,如图4所示。

3.3验证数据有效性

在上传的excel文件中,设置单元格数据有效性,例如计量单位只能在已有的列表中选择。

在程序中添加数据验证,然后返回一个值。

String str1=jTextField1.getText();

str1=str1.replaceAll("[0-9]","");//将所有的数字型字符替换为空

if(str1.length()==0)

System.out.println(“文本框中的值是int类型”);//文本框中的值是int类型

else

System.out.println(“文本框中的值不是int类型”);//因为有其他字母或者符号型字符的存在

第四章 结论

(1)应用java语言,容易实现,上传快速快;

(2)互动性强,帮助用户反馈错误原因;

(3)下一步:验证做细一点,成为一种体系,和程序配套,具体返回上传的哪一条错误,错误的原因是什么。

参考文献

[1]邱小彬. 基于JAVA的批量数据导入导出探讨[J]. 农业网络信息 2008

[2]刘松. 一种批量上传Excel数据到Web系统的VBA方法[J]. 吉林师范大学学报 2012

论文作者:洪丹丹

论文发表刊物:《基层建设》2019年第10期

论文发表时间:2019/7/1

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于Java的批量数据导入及验证技术的研究与应用论文_洪丹丹
下载Doc文档

猜你喜欢