asp论坛回复功能怎么实现_(08)使用ASP实现批量导入功能(1)

本文介绍如何使用ASP脚本批量导入Excel数据到Access数据库,包括创建模板、上传文件、数据校验与导入步骤。

Access数据库是微软公司出品的Office办公软件套件,我用的版本号是2003。Access是数据库,库的内部可以建很多表,每个表的名称各不相同,用表来存储互相关联的数据,Access数据库是关系型数据库。表是数据库的核心,表中的数据是一组逻辑相关的数据,在表中这些数据按行和列的方式进行组织。

这是上一节对Access数据库做的简单介绍,这一节我们要做的就是利用ASP脚本语言将存储在Excel电子表格中的数据批量导入到Access数据库中相对应的表中去,实现数据的批量导入功能。

系统设计中,总会遇到excle上传的功能设计。Excle上传主要是两个作用,第一种是对excle文件在服务器端进行存储,第二种是根据上传excle文件中的数据,在数据库表中进行批量的数据创建。如何设计,许多细节交互与设计值得大家共同探讨。

一. 为什么要做批量导入?批量导入数据的优点有哪些?

每个程序都有许多功能模块,每个功能模块都对应关数据库中有关联的数据表,每个表都需要一些数据的录入。比如《生产经营管理信息系统》中,需要大量录入原材料信息或者其它一些资料,如果系统不支持批量导入的话,系统使用人员需要逐条录入信息,增加数据录入的成本,同时加大数据录入错误的几率。所以批量导入的话,既可以提高准确性,又可以大大节省人力。

综上所述,应用数据批量导入到服务器端的数据库表中,大量地用在后台维护系统的设计中,批量导入功能应用得当,可以大大提高使用者的工作效率。

二. 批量导入功能应该怎么做

1. 创建excle模版

为了保证数据的正常创建,excle模版格式需要固定。同时为了保证各个用户能够使用统一的模版,需要在系统的相应页面向使用者提供设计模版下载功能。

如下图中①处所示。

9ae634849c9403fab273a414def9ec90.png

对系统的使用者,严格要示按规范填写Excel模板,否则将不能正确导入数据;

对于程序设计者来说,更不是简单的把EXCEL表中的数据,能够导入到系统就可以了。至少要考虑以下几点:

1. 要详细了解Access数据库中对就要导入数据的表的格式,字段、数据类型等信息。

2. 以Access数据库中对应表的格式,字段和数据类型为参照,设计Excel模板字段名称及数据格式等,要能让程序使用者尽可能地减少批量导入数据时出错的几率。

3. 容错处理语句的设计,这是在程序设计时技术人员要做的事情。电子表格中若出了格式不正确的数据,要能够提示用户哪里出现数据错误,如何进行修改和用什么方式修改。

一个新的程序开发设计,实现目的是最简单的,最难的的容错处理,有时容错处理语句的代码量要远远大于实现基本功能的代码。评价一个程序设计者的好坏,水平高底,很大程度上是要看他的容错处理实现的怎么样。

2. excle模版的制作

在EXCEL中输入数据是很自由的,所以如果不把EXCEL定好模板,把填写的规则告诉程序使用者,那么程序使用者填写后的信息导入到系统,是有很大的几率不符合规范,所以一定要定好EXCEL的模板。

首先,要在EXCEL中指导程序使用得,把输入的规则在EXCEL中写清楚。

Excle模版在制作过程中,主要需要把握以下几点:

(1)每一列分别需要录哪些数据。

(2)哪些数据是必填的,比如添加员工,那么姓名就是必填项。

(3)每个数据中,填写信息的格式都有哪些要求,比如出身年月是1990-05还是1990年5月。

3. Excle文件上传

文件上传主要目的是根据excle中数据在服务器端数据库对应的表中进行数据批量创建,模板设计好生,无论单独创建一条数据,还是创建1000条数据,那么上传Excle的过程都是一样的。

文件上传中需要制定一些规则,这些规则有些在程序设计时会用程序代码进行规范:

(1)上传的文件支持格式?本例仅指电子表格Excle。

(2)对文件大小是否有要求?

(3)是采用追加上传还是覆盖(修改)上传?

(4)上传过程中,是否需要进行数据校验?

这些根据系统设计要求不同和实现功能要求的不同,在程序设计代码上制定不同的数据上传规则即可。

4. 对上传数据进行纠正和创建

Excle文件从上传到创建数据通常有两种方式:

(1)Excle上传后自动进行数据创建

(2)Excle上传后,先进行页面化显示,数据确认后,进行手动提交,最后进行数据创建。

个人倾向于选择第二种,先显示数据,确认后再进行创建。但实现较第一种麻烦。后续文章以第一种上传数据为例进行简要介绍。

如果有用户不小心将一个手机号输了12位,如果按照第一种方式,数据创建过程中,会直接导入到数据库表中,无法容错。若采用第二种方式,可以很好地解决这些问题。

将上传文件中的数据进行页面显示,提交时进行数据验证,如果发现有错误数据,直接在页面进行提示错误位置,清晰直观。而且可以直接进行数据纠正,也可以直接更改excle文件中的数据,再次上传即可。

还有,要控制好用户的输入,对于那些需要跟系统数据库进行匹配的数据,让用户选,而不要让用户输。 例如省市区,数据库中存的是叫河北省,如果让用户自有输入,他很有可能输入“河北”,少了个省字,这样在和数据库进行匹配的时候,就会匹配不到数据,所以对于需要进行匹配的数据,采用让用户选择而不是输入的方式。

5. 导入记录

利用ASP脚本,对Excle表中数据,逐条导入到系统的数据库表中。

计算机程序软件系统的目的都是提升效率,释放人力,减少企业和个人的成本。批量导入虽然是一个很小的功能,但在使用交互系统过程中,同样影响着使用者的工作效率。这是我在使用ASP批量导入数据中的一点心得体会,希望大家关注我,提出更好的建议。

下一节展示批量导入的数据库表的格式和电子表格模板的样式,以及数据格式要求,先上一数据库表的格式设计图,详细内容下节交流。

04ec50fd4744af7819a4422d8bcd4cb1.png
fe64bee5285d293d6d284b47e52d6e26.png

这是下一节要用的数据资料,请大家先看看,多提宝贵意见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值