EXT系统中Excel数据导入的设计和实现

上传人:飞*** 文档编号:43097679 上传时间:2018-06-04 格式:DOC 页数:7 大小:38KB
返回 下载 相关 举报
EXT系统中Excel数据导入的设计和实现_第1页
第1页 / 共7页
EXT系统中Excel数据导入的设计和实现_第2页
第2页 / 共7页
EXT系统中Excel数据导入的设计和实现_第3页
第3页 / 共7页
EXT系统中Excel数据导入的设计和实现_第4页
第4页 / 共7页
EXT系统中Excel数据导入的设计和实现_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《EXT系统中Excel数据导入的设计和实现》由会员分享,可在线阅读,更多相关《EXT系统中Excel数据导入的设计和实现(7页珍藏版)》请在金锄头文库上搜索。

1、 EXTEXT 系统中系统中 ExcelExcel 数据导入的设计和实现数据导入的设计和实现摘要:以实际项目开发中遇到的导入问题为背景,概述了将大量excel 数据导入基于 extjs 技术的系统中的方法,并基于此分析了数据导入时实际中的各种需求问题,提出了几点改进和实现方法,对于类似的 b/s 模式下的导入问题有一定的改进和提高。关键词:extjs;excel;导入0 引言extjs 通常简称为 ext, 它是一种跨浏览器的 ajax 框架,用javascript 编写,与后台技术无关,用来开发具有各种丰富多彩界面外观的富客户端应用程序。extjs 的最大优点就是利用其构建的web 应用具有

2、与桌面程序近乎一样的标准用户界面与操作方式,并且能够兼容不同的浏览器平台。随着计算机网络的飞速发展,b/s 模式的信息管理系统应用范围越来越广泛,而在通常的信息管理系统中,外部数据与系统之间的数据交互,外部数据的导入是经常需要实现的一个功能,最常见的是 excel 表中数据的导入。如何实现 excel 数据导入到数据库中,是一个需要持续探讨研究的问题。当要批量导入数据时,一般的 b/ s 系统只能通过不断地重复“逐条数据输入、处理、提交”的过程来完成。本文以职级体系管理系统实际项目开发为背景, 研究了简单高效的数据导入和处理方法, 为基于 b/s 的信息管理系统开发中 excel 数据的导入问

3、题提供了一种解决路径。1ext 系统中 excel 数据导入的方法1.1 传统的导入方法传统的导入 excel 数据的方法是用 javascript 操作 excel, 依次取出 excel 中每条数据,然后将这些数据值提交到后台 servlet,再由后台 javabean 将数据处理后,添加到数据库中。部分关键代码:var oa=new activexobject(“excel.application”);/打开excel 应用程序var oabook= oa.workbooks.open (filename); /打开所指定文件名的 excel 文件var oasheet=oabook.w

4、orksheets(1); /获取指定的工作表for( i=1;i items = upload.parserequest(request);iterator it = items.iterator();while (it.hasnext()fileitem item = (fileitem)it.next();/fileitem 对象封装单个表单字段元素的数据if(item.isformfield()else/是文件字段if(item.getname() ! = null /load 文件夹 导入的 excel 文件放入的位置file tempfile = new file(item.get

5、name();file = new file(file,tempfile.getname();/得到上传后的excel 文件在服务器中的完整的路径名item.write(file); /将 fileitem 对象中保持的主体内容保存到指定的文件中uploadimportdata uid=new uploadimportdata();/创建javabean 对象string ifsucuss=uid.import (file.getpath();/调用javabean 类的 import 方法处理数据并导入到数据库中if(issucuss.equals(“1”)/接受后台 javabean 的处

6、理结果 返回”1”表示导入成功request.setattribute (“upload.message”, “ 导入数据成功! “);response.getwriter ().write (“ success:true,message: 导入数据成功”);/上传成功后显示。elserequest.setattribute(“upload.message”, “ 导入数据出错! “);response.getwriter ().write (“ success:true,message: 导入数据出错”);在 javabean.uploadimportdata 类中,定义了 import 函

7、数,用于打开 excel 文件并导入到数据库中,关键代码如下:sql=“truncate table importempbasic”;/清空临时表importempbasic 中所有数据 importempbasic 为临时接受导入数据的表/通过 sqlserver 2005 的 transact sql 语句中的 openrowset 函数直接实现 excel 数据的导入:sql=“insert into importempbasic (name,id,age,) select name,id,age from openrowset (microsoft.jet.oledb.4.0,exce

8、l 5.0;hdr=yes;database=“+filepath+” ,sheet1$)”;/excel 中表的名称需要加上符号$ 此处的 filepath 的值为”c:/load/上传的文件名”db_conn.sm.executeupdate(sql);sql=“select*from importverticalproject”;/再从临时表中依次取出每条数据,进行处理后导入真正的数据表中rs=db_conn.sm.executequery(sql);while(rs.next()同时,真正导入的过程中可以对每条数据进行验证和判断的处理,如此处的name字段的值不能为空、 age字段的值

9、必须为数值,一旦出错则停止本条数据的导入进入下一条,同时抛出出错的信息到另一个临时表 importempbasichistory 中,以便在前台读取其查看到具体导入详细信息。关键代码如下:(接着上面的代码)while(rs.next()i+;/i-第几条数据if(rs.getstring(“name”)=null|rs.getstring(“name”).equals(“)sqlhistory = “insert into importempbasichistory “ +“(importstate,importmes,importtime) “ +”values(“+”失败”+” , ”+”

10、第”+i+”条数据错误,姓名不能都为空,此条数据导入失败!”+” , ”+datetime+” )”;db_connhistory.sm.executeupdate(sqlhistory);continue;/退出本条数据的导入 继续下一条else下面给出导入过程以及导入结束的两个界面示意图图 1 导入过程与导入界面2 结束语整个系统采用基于 ajax 的前端开发技术 extjs 和 mvc 模式的后台编程技术,采用 b/s 架构设计。用户选择需要导入的 excel文件,系统会先上传此 excel 文件到服务器指定的目录中,然后在服务端自动地验证每一条数据快速正确地插入到指定的数据库表中,导入

11、完成后每条数据的导入情况都能一览无余,实现了方便、快速、准确、高效率的 excel 数据导入功能。文中提出的方法已在实际项目中成功应用,主要解决了大批量的数据的导入问题,效果显著。参考文献:1宋一淇,汪学锋.windchill 系统中外来技术文件的批量导入方法研究j.中国船舶研究,2011(3).2ext.ux.uploaddialog (for extjs 2.0) demo pageeb/ol.http:/www.max dialog2.0/index.php3李焕玲.sql server 中数据的导入导出j.科技资讯,2008(28).4冯炜锐.net 实现大批量 excel 数据导入

12、 sql serverj.商场现代化,2010(35).5方征.extjs 在 ria 开发中的应用j.电脑知识与技术,2009(18).design and implementation of excel data import in ext systemabstract:stands against the background of import problem in practical projects,described methods of import large quantities of excel data in the application based on extjs technology. at the same time, analyse various demand problem when we import data in practice, put forward some improvement and implementation methods, can take it some improve for similar import problems in the model of b/s.key words: extjs; excel; import

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号