这个问题没有统一的答案,不同的应用平台,要根据平台的具体情况来制订具体的应用方案,我们不妨简要的分析一下,再以一个简单的个案拓展一下解决的思路。
不同的平台系统,采取的系统架框可能不同、开发的语言和数据库选取也可能不尽相同,即使是系统架构数据库及开发语言相同,但也可能存在着版本的差别、应用环景的不同,所以应用解决方案就不同。
一、平台数据库的不同,导致对Excel数据直接导入的处理方式不同Excel是微软的产品,所以,如果系统的数据库选用的是微软的Sql server、Access,兼容性就比较好,解决起来相对比较方便,当然更可以直接的导入。但是像其他的数据库,比如Mysql,Oracle,Sqlite、Postgre SQL,就要查取相关的文档,或查找相关的资料了,有些可以直接从Excel中导入数据,有些就需把Excel的数据转换成其他格式的文件才能导入。
二、平台系统的开发语言不同,使Excel数据导入的代码处理上也不同如果采用的是微软的C#,VB等开发语言,则可以轻易地通过代码把电子表格导入到已有的数据表中,当然要在代码中进行处理,如果一次性的导入Excel数据,那就像上述一所讲的直接导入数据库就可以了,没必要用这种程序代码的方式,但是对于一些固定的业务和固定的Excel格式和反复的同样工作,就需要采用语言编程在系统中做一个导入Excel的接口了,因为这是一个比较好的解决方案,比如各营业点每天上报的电子表格需要汇入总公司的系统中等,因为不同的企业或公司,技术层次不同,需求也是千差万别了。在一些公司奇葩应用的存在也是比比皆是。
三、程序代码对Excel导入的具体案例我们举个简单的例子来说明Excel的导入到系统情况。
系统情况:采用ACCESS2010,数据库为accdb,语言用VBA。编制了一个程序应用小系统,用该系统对淘宝客各合作方的订单佣金进行运算处理。
数据来源:淘宝联盟报表导出的Excel。
处理周期:每月21号处理上个月的佣金结算。
1、从淘宝联盟后台导出代理订单的Excel。2、因为每个月都要处理相同的业务,所以采用程序代码处理Excel数据的导入。用VBA做一个导入按钮,以便选取要导入的电子表格,如下图:
该按钮的VBA代码为:
Private Sub 选取文件_Click()
Set dlg = Application.FileDialog(1)
With dlg
.AllowMultiSelect = False
.Show
End With
If dlg.SelectedItems.Count > 0 Then
GetFolder = dlg.SelectedItems(1)
Else
GetFolder = ""
End If
Set dlg = Nothing
Me![文件] = GetFolder
End Sub
选好后,再通过另一段代码进行处理,关键的代码是取得Excel的娄据,如下:
Set Exc = DBEngine.Workspaces(0).OpenDatabase(Me![文件], True, True, "Excel 12.0")
然后打开选取的工作表的记录集,如下代码:
Set re =Exc.OpenRecordset(Me![sheet] & "$")
其他具体的业务代码不具有通用性就不写出了。
通过上面的代码处理,就可以把Excel的数据导入到Access数据表中,以方便程序代码处理了。
不单单是微软的产品可以处理Excel数据,其他的平台系统也有可能处理Excel数据,例如,我以前的一个网站使用的是Linux+Mysql系统,在处理采集器的Excel数据时,也可以通过PHP程序代码导入到网站的数据表。
总结:以上通过一个小的应用,来说明对于日常使用的、固定格式的Excel数据是可以通过程序处理的,对于大的系统来说,也是有借签意义的。总之,不同的平台系统,系统架构、数据库、开发语言、应用环境可能不尽相同,所以要具体情况总能找出不同的解决方案,在此抛砖引玉,但愿对需要者有所裨益。Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有