使用SQL直接将EXCEL中的数据,导入到数据库

发布于 2022-4-25 15:54
浏览
0收藏

作者 | 跟鸟叔学编程
来源 | 今日头条

概述:

在项目开发过程中,经常会出现将EXCEL中的数据,导入到数据库表中的需求!这样的功能非常常见,而且比较实用!

可以满足批量的数据上传的功能需求,但有的情况下,需要面对一些小众的数据处理要求,例如业务部门偶尔需要将EXCEL中的数据,导入到系统中,并且根据这部分数据,进行一些定制化的处理!

这种情况下,为这些不经常使用的功能,开发程序功能,非常的不划算!而且EXCEL模板的随意化,也不可能一一打造上传功能,所以如果能够使用SQL直接处理这些EXCEL文件,无疑是非常划算的选择!

既可以从容应对需求,又可以划水、摸鱼!这样的操作不香吗?接下来以SQLSERVER为例,看看如何使用SQL直接读取EXCEL中的数据!

操作前需要注意一些事项,那就是WPS版本的目前没有尝试过,大概率是不可用的!毕竟EXCEL属于微软系全家桶产品系列,肯定兼容性要更好一些 !

首先数据库默认的该部分权限是关闭的,涉及到系统的安全设置,在进行导入前,我们需要将系统配置存储过程中对应的选项设置打开!设置为可用状态,默认为0,为不可用状态!

需要将这个状态标识符,从0修改成1,那么即可完成第一步的操作!

exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

接下来我们弄一个EXCEL用于测试,草草的填充数据之后,放到C盘目录即可!使用SQL直接将EXCEL中的数据,导入到数据库-开源基础软件社区

准备工作已经就绪,接下来我们直接使用SQL读取指定目录下的EXCEL文件即可了!

SELECT *   FROM 
OPENROWSET
  ( '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文件中读取出来的,然后的操作,就进入到小伙伴们擅长的领域了!可以开启收割模式了!使用SQL直接将EXCEL中的数据,导入到数据库-开源基础软件社区

读取结束后,需要将安全模式重新关闭,毕竟数据库乃重中之地,需要严苛地进行安全性防范!

exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure 

总结一下:

在项目开发领域,问题的解决方案,从来都不是唯一的选择!这就是软件开发的魅力所在!如何根据场景,进行方案的最优质选择,这才是作为项目开发人员,需要关注的重点所在!

收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐