EXCEL数据上传到SQL SERVER中的简单实现方法

前端技术 2023/09/06 MYSQL
EXCEL数据上传到SQL SERVER中的方法需要注意到三点!
注意点一:要把EXCEL数据上传到SQL SERVER中必须提前把EXCEL传到服务器上.
做法: 在ASP.NET环境中,添加一个FileUpload上传控件
后台代码的E.X:
复制代码 代码如下:

 if (FileUpload1.HasFile) //如果用户确实选择了上传控件的浏览按钮,浏览文件成功.
 {
 this.FileUpload1.SaveAs(\"E:\\\\Temp\\\\\" + FileUpload1.FileName); //保存到服务器的目录,需要根据服务器具体情况修改FileUpload1.FileName会自动获取上传文件名.
 }
 //OK成功上传到服务器的E:\\Temp目录下(自己写的时候注意错误处理,和异常处理啊,很重要的).

注意点二: SQL SERVER 服务器中的表的结构(字段)要与要上传来的EXCEL格式顺序等相同.
保存到服务器的关键代码如下E.X(SQL 语句):
复制代码 代码如下:

insert into EmployeesCheck select * from OPENROWSET(\'MICROSOFT.JET.OLEDB.4.0\' ,\'Excel 8.0;hdr=yes;database=E:\\\\Temp\\\\\" + FileUpload1.FileName + \"\',Teenie$)
// EmployeesCheck 是我在SQL SERVER 中的数据接受表,hdr=yes 表示EXCEL内容第一行作为内容字段而不是字段列

Teenie是我EXCEL的当前页的名称(注意这个一定要写对,否则的话会出错,另外要在名字后面家$这个东西)

解除SQL阻止:
SQL Server 阻止了对组件 \'Ad Hoc Distributed Queries\' 的 STATEMENT\'OpenRowset/OpenDatasource\' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 \'Ad Hoc Distributed Queries\'。有关启用 \'Ad Hoc Distributed Queries\' 的详细信息,请参阅 SQL Server 联机丛书中的 \"外围应用配置器\"。
因为SQL2005默认是没有开启\'Ad Hoc Distributed Queries\' 组件,开启方法如下
复制代码 代码如下:

EXEC sp_configure \'show advanced options\', 1
GO
RECONFIGURE
GO
EXEC sp_configure \'Ad Hoc Distributed Queries\', 1
GO
RECONFIGURE
GO

哈哈!就说到这些把 这个比较简单 能对付一般的应用了,因为一般用EXCEL数据的都是公司内部数据处理,所以完全够应付了,但是如果是商业化或者专业的网站让任何普通用户上传EXCEL的话就不大合适了,毕竟你不能强烈要求所有用户EXCEL的表的数据页的名字都叫Teenie 呵呵,网上还有一种很麻烦的SQL语句(都是参数的形式)可以解决这个问题,呵呵 大家无妨去参考一下!

本文地址:https://www.stayed.cn/item/17467

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。