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

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语句(都是参数的形式)可以解决这个问题,呵呵 大家无妨去参考一下!

(0)

相关推荐

  • Excel导入Sqlserver数据库脚本

    受以前旧同事之托,在博客里发这段脚本: exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure SELECT * INTO tmp_asset FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=d:\Excel数据源\资产印章.xls', 'SE

  • ASP将Excel数据导入到SQLServer的实现代码

    复制代码 代码如下: <form action="insert.asp" method="post" enctype="multipart/form-data" name="form1" onSubmit="b1_onclick()"> <table width="500" border="1" align="center" ce

  • 如何把Excel数据导入到SQL2008数据库的实例方法

    复制代码 代码如下: private void AddManyData_Click(object sender, RoutedEventArgs e)        {            OpenFileDialog openFileDialog = new OpenFileDialog();            openFileDialog.Filter = "Excel文件|*.xls"; if ((bool)openFileDialog.ShowDialog())     

  • Asp.net中把Excel数据存储至SQL Server中的具体实现方法

    ExcelWrapper 复制代码 代码如下: /// <summary>        /// 查询EXCEL电子表格添加到DATASET        /// </summary>        /// <param name="filenameurl">文件路径</param>        /// <param name="table">dataset中的表名(并不是要和数据库中的表一样)</

  • Excel数据导入Mysql数据库的实现代码

    首先做一下说明,为什么我要用Navicat,第一个原因,因为它是个不错的Mysql GUI工具,更重要的是,它可以将一些外部数据源导入Mysql数据库中.因为我的数据源是excel数据,所以想借助Navicat将其导入Mysql. 第一次运行,首先创建连接,主机名填写:localhost,端口为3306,然后填写用户名密码,OK.顺利的话,大家就可以看到名为localhost的连接图标了.双击点开它,一般Mysql默认有两个数据库,分别为mysql与test. 不用管它们,右键localhost

  • 把excel表格里的数据导入sql数据库的两种方法

    本来最近在研究微信公众平台的,老大临时交我个任务,把excel表格里的数据导入sql数据库,我想这so easy嘛. 没想都在上面消磨了两天... 把情况介绍下:在数据库中有如下这样结构的表(A表) 我只取关键的及列里面还有很多数据. 有一张id和name对照的excel文件(B表)和N张结构类似的excel表(C表)(没有id那一列)              我的任务在B表中找到C表中数据对应的id后,然后将id加到C表中,最后根据id是唯一的,用C表的数据去更新A表的数据.这里主要涉及了e

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

    EXCEL数据上传到SQL SERVER中的方法需要注意到三点!注意点一:要把EXCEL数据上传到SQL SERVER中必须提前把EXCEL传到服务器上.做法: 在ASP.NET环境中,添加一个FileUpload上传控件后台代码的E.X: 复制代码 代码如下: if (FileUpload1.HasFile) //如果用户确实选择了上传控件的浏览按钮,浏览文件成功. { this.FileUpload1.SaveAs("E:\\Temp\\" + FileUpload1.FileNa

  • SQL Server中锁的用法

    目录 通过锁可以防止的问题 1.脏读 2.非重复性读取 3.幻读 4.丢失更新 可以锁定的资源 锁升级和锁对性能的影响 锁定模式 1.共享锁 2.排它锁 3.更新锁 4.意向锁 5.模式锁 6.批量更新锁 锁的兼容性 使用Management Studio确定锁 设置隔离级别 1.READ COMMITTED 2.READ UNCOMMITTED 3.REPEATABLE READ 4.SERIALIZABLE 5.SNAPSHOT 处理死锁 1.判断死锁的方式 2.选择死锁牺牲者的方式 3.避

  • 浅析SQL Server中的执行计划缓存(上)

    简介 我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径.当我们写的SQL语句传到SQL Server的时候,查询分析器会将语句依次进行解析(Parse).绑定(Bind).查询优化(Optimization,有时候也被称为简化).执行(Execution).除去执行步骤外,前三个步骤之后就生成了执行计划,也就是SQL Server按照该计划获取物理数据方式,最后执行步骤按照执行计划执行查询从而获得结果.但查询优化器不是本篇的重点,本篇文章主要讲述查询优化器在生成执行计划之

  • 在SQL Server中迁移数据的几种方法

    1.通过工具"DTS"的设计器进行导入或者导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不 多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动.在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data...(或All tasks/Export Data...),进入向导模式,按提示一步一步走就行了,里面分得很

  • Sql Server中清空所有数据表中的记录

    Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: 复制代码 代码如下: exec sp_msforeachtable  @Command1 ='truncate table ?' 删除所有数据表: 复制代码 代码如下: exec sp_msforeachtable 'delete   N''?''' 清空SQL Server数据库中所有表数据的方法(有约束的情况) 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之

  • SQL Server中数据行批量插入脚本的存储实现

    无意中看到朋友写的一篇文章"将表里的数据批量生成INSERT语句的存储过程的实现".我仔细看文中的两个存储代码,自我感觉两个都不太满意,都是生成的单行模式的插入,数据行稍微大些性能会受影响的.所在公司本来就存在第二个版本的类似实现,但是是基于多行模式的,还是需要手工添加UNAION ALL来满足多行模式的插入.看到这篇博文和基于公司数据行批量脚本的存储的缺点,这次改写和增强该存储的功能. 本存储运行于SQL Server 2005或以上版本,T-SQL代码如下: IF OBJECT_I

  • 在SQL SERVER中查询数据库中第几条至第几条之间的数据SQL语句写法

    今天在写程序的时候,需要生成从开始id到结束id的sql语句.原来不需要这个功能现在就需要了. 在SQL SERVER中查询数据库中第几条至第几条之间的数据SQL语句如何写? 如:在SQL SERVER中查询数据库中第10条至30条之间的数据SQL语句如何写? ------解决方案-------------------- select top 20 * from 表 where id in (select top 30 id from 表 order by id)order by id desc

  • Sql Server中实现行数据转为列显示

    目录 1.效果如下 2.解决方案 3.代码如下 场景:行数据的某列值想作为字段列显示 1.效果如下 2.解决方案 使用pivot进行行转列,以及结合分组 3.代码如下 select * from( select DeptName,InputCode from FWD_Department group by DeptName,InputCode ) as a pivot( max(InputCode) for DeptName in([随访中心],[全院],[家庭化产房],[妇科二],妇科一) )

  • SQL Server中的XML数据进行insert、update、delete

    SQL Server中新增加了XML.Modify()方法,分别为xml.modify(insert),xml.modify(delete),xml.modify(replace)对应XML的插入,删除和修改操作. 本文以下面XML为例,对三种DML进行说明: declare @XMLVar xml = ' <catalog> <book category="ITPro"> <title>Windows Step By Step</title&

随机推荐