网站首页 > 技术教程 正文
概述:
在项目开发过程中,经常会出现将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文件即可了!
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文件中读取出来的,然后的操作,就进入到小伙伴们擅长的领域了!可以开启收割模式了!
读取结束后,需要将安全模式重新关闭,毕竟数据库乃重中之地,需要严苛地进行安全性防范!
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
总结一下:
在项目开发领域,问题的解决方案,从来都不是唯一的选择!这就是软件开发的魅力所在!如何根据场景,进行方案的最优质选择,这才是作为项目开发人员,需要关注的重点所在!
喜欢的小伙伴可以关注我,一起交流学习!我是IT鸟叔,一位喜欢写程序、钓鱼、喝茶、玩游戏的中年大叔!
猜你喜欢
- 2024-12-25 美团面试题:慢SQL有遇到过吗?是怎么解决的?
- 2024-12-25 Sql Server数据库安装,不能再详细了,不信你看看
- 2024-12-25 MyEclipse数据库教程:在MyEclipse中构建SQL查询语句
- 2024-12-25 sql注入、文件上传、文件包含 sql注入,文件上传,文件包含哪些
- 2024-12-25 全网最全面的 SQL语句(建议收藏) sql语句百度百科
- 2024-12-25 mysql 如何一次性导入多个.sql文件
- 2024-12-25 PHP大文件读取操作 php读取文件内容的方法和函数
- 2024-12-25 鸿萌数据恢复服务: SQL Server 还原错误 3201“无法打开备份设备”
- 2024-12-25 Oracle查询语句,你知道几个? oracle的查询语句
- 2024-12-25 PL/SQL Developer连接Oracle数据库详解
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)