|
概述:
在项目开发过程中,经常会出现将EXCEL中的数据,导入到数据库表中的需求!这样的功能非常常见,而且比较实用!
可以满足批量的数据上传的功能需求,但有的情况下,需要面对一些小众的数据处理要求,例如业务部门偶尔需要将EXCEL中的数据,导入到系统中,并且根据这部分数据,进行一些定制化的处理! 这种情况下,为这些不经常使用的功能,开发程序功能,非常的不划算!而且EXCEL模板的随意化,也不可能一一打造上传功能,所以如果能够使用SQL直接处理这些EXCEL文件,无疑是非常划算的选择!
既可以从容应对需求,又可以划水、摸鱼!这样的操作不香吗?接下来以SQLSERVER为例,看看如何使用SQL直接读取EXCEL中的数据! 操作前需要注意一些事项,那就是WPS版本的目前没有尝试过,大概率是不可用的!毕竟EXCEL属于微软系全家桶产品系列,肯定兼容性要更好一些 !
首先数据库默认的该部分权限是关闭的,涉及到系统的安全设置,在进行导入前,我们需要将系统配置存储过程中对应的选项设置打开!设置为可用状态,默认为0,为不可用状态!
需要将这个状态标识符,从0修改成1,那么即可完成第一步的操作!execsp_configureshow advanced options,1
reconfigureexecsp_configureAd Hoc Distributed Queries,1
reconfigure接下来我们弄一个EXCEL用于测试,草草的填充数据之后,放到C盘目录即可! 准备工作已经就绪,接下来我们直接使用SQL读取指定目录下的EXCEL文件即可了!SELECT*FROMOPENROWSET
(MICROSOFT.JET.OLEDB.4.0,Excel 8.0;IMEX=1;HDR=YES;DATABASE=C:/Demo.xls,
[sheet1$]
)这里的MICROSOFT.JET.OLEDB.4.0,Excel 8.0;IMEX=1;HDR=YES;DATABASE=C:/Demo.xls参数是连接字符串的配置,包含了EXCEL的驱动版本,读取规则设置,以及文件的路径与名字,后面的sheet1为EXCEL中页签的名字!
这样数据就轻而易举的从EXCEL文件中读取出来的,然后的操作,就进入到小伙伴们擅长的领域了!可以开启收割模式了! 读取结束后,需要将安全模式重新关闭,毕竟数据库乃重中之地,需要严苛地进行安全性防范!execsp_configureAd Hoc Distributed Queries,0
reconfigureexecsp_configureshow advanced options,0
reconfigure总结一下:
在项目开发领域,问题的解决方案,从来都不是唯一的选择!这就是软件开发的魅力所在!如何根据场景,进行方案的最优质选择,这才是作为项目开发人员,需要关注的重点所在!
喜欢的小伙伴可以关注我,一起交流学习!我是IT鸟叔,一位喜欢写程序、钓鱼、喝茶、玩游戏的中年大叔!
|
|