ASP实现 将Excel表格数据批量导入到SQLServer数据库
说明:
1. 被导入的工作表格, 默认以Sheet1命名, 当然也可以指定为其他的, 但必须与程序中的相符.
2. 被导入的工作表中,第一列第一行必须有数据.
3. 被导入的工作表中的列数要与程序中相符.
'定义打开Excel表格的函数 Function OpenExcel(path) dim excel,rs,strsql On Error Resume Next Set rs = Server.CreateObject("ADODB.RecordSet") Set excel = Server.CreateObject("ADODB.Connection") excel.Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & path If Err.number<> 0 Then Response.Write "请检查上传的Excel文件内部格式,文件无法打开,导入失败!" Response.End End If strsql = "SELECT * FROM [Sheet1$]" '在这里指定工作薄名称,默认是Sheet1$ Set rs = excel.Execute(strsql) Set OpenExcel = rs End Function
'读取文件中的内容 Dim rsInfo Set rsInfo = Server.CreateObject("ADODB.RecordSet") Set rsInfo = OpenExcel("E:/a.xls") '这里的文件路径请用Server.Path来获取 '检查读取结果 If rsInfo.State<> 1 Then Response.Write "请检查Excel文件中的工作表命名是否为Sheet1,导入失败!" Response.End End If If rsInfo.EOF And rsInfo.BOF Then Response.Write "没有找到Excel表中的数据,导入失败!" Response.End End If If IsNull(rsInfo.Fields(0)) or Trim(rsInfo.Fields(0))="" Then Response.Write "没有找到Excel表中的数据,导入失败!" Response.End End If '这里指定导入数据的列数,列数少了退出 If rsInfo.Fields.Count< 7 Then Response.Write "Excel表中的数据列数不正确,导入失败!" Response.End End If '创建数据库连接 dim dbrs,conn,sql Set conn = Server.CreateObject("ADODB.Connection") Set dbrs = Server.CreateObject("ADODB.Recordset") '注: G_DB_ConnectString是连接数据库的字符串,自己定义 conn.ConnectionString = G_DB_ConnectString conn.Open '打开数据库连接 '创建临时表 sql = "IF EXISTS (SELECT * FROM sysobjects WHERE xtype='U' and name='tmp_PartRes') " sql = sql & "BEGIN Drop table tmp_PartRes END " sql = sql & "Create table tmp_PartRes([ID] int identity(1,1)," sql = sql & "PartID varchar(100),Brand varchar(100),[Package] varchar(100)," sql = sql & "BatchNo varchar(100),[Price] varchar(100),[Stock] varchar(100) default('0')," sql = sql & "Brief varchar(100),StockFlag int default(1)," sql = sql & "SuperFlag int default(1),SaleFlag int default(1))" conn.execute sql '取表结构 注意: 只取表的结构, 不要数据, 因为我这个是刚创建的临时表, 没有数据, '如果表中存在数据, 要注意加上条件句, 防止取到数据 如: where ID = -1 sql = "SELECT * FROM tmp_PartRes" dbrs.CursorLocation = 3 '这一定要设置为3 dbrs.Open sql,conn, 3, 4 '这里的参数必须是3和4 '取到表结构后, 必须要把活动连接及数据库连接关闭,这个很重要, 否则导入速度特慢. Set dbrs.ActiveConnection = Nothing conn.close '提取Excel中的数据, 将excel中的数据放入到数据库表中. While Not rsInfo.EOF If Trim(rsInfo.Fields(0))<> "" Then dbrs.AddNew dbrs("PartID") = Ucase(Trim(rsInfo.Fields(0))) dbrs("Brand") = Trim(rsInfo.Fields(1)) dbrs("Package") = Trim(rsInfo.Fields(2)) dbrs("BatchNo") = Trim(rsInfo.Fields(3)) dbrs("Price") = Trim(rsInfo.Fields(4)) If Trim(rsInfo.Fields(5))<>"" Then dbrs("Stock") = Trim(rsInfo.Fields(5)) Else dbrs("Stock") = "0" End If dbrs("Brief") = Trim(rsInfo.Fields(6)) End If rsInfo.MoveNext Wend '更新记录集到数据库临时表 conn.Open '打开连接 dbrs.ActiveConnection = conn dbrs.UpdateBatch '批量更新函数 '更新完成后, 关闭连接 dbrs.Close Set dbrs = Nothing rsInfo.Close Set rsInfo = Nothing
相关推荐
实现了批量导入书库到sqlserver中,方便快捷。
ASP.NET将EXCEL导入SQL SERVER数据库的代码 ASP.NET将EXCEL导入SQL SERVER数据库的代码
使用Asp.Net开发,用于导入Excel文件到SQLServer,支持配置导入字段。支持主键为Int的外键。 两种方式:1、先导入Excel再配置对应关系 2、先配置对应关系在导入
实现将excel中的数据批量导入到access
asp.net导入excel文件到sqlserver数据库,数据库根据代码随便创建一个就行,完美注释,一学就会!
c#实现excel数据高效导入到sql数据库
读取Excel数据导入SQL Server数据库中(asp.net)代码实例。支持excel2003和excel2007.
excel导入到SqlServer,具体讲:asp.net实现将Excel文件导入到SQL数据库的三种解决方案
源码说明: 1、可以将excel电子表格直接导入到AC或MSSQL数据库指定的表中 2、可以自行配置 3、完全免费下载 4、其他下载之后自行测试 5、目前支持20个字段的导入 6、字典信息可以自己添加 7、10000条数据导入大约10...
将excel的内容批量导入到数据库中,支持SqlServer2000数据库,BS结构 C#源代码。
本程序是简单的使用ASP.NET实现连接SQL Server数据库的一个简单连接。
经测试绝对成功。请放心下载。这是一个实例,下载后请看查看说明文档。
ASP导入Excel电子表格数据到SQL+Sever数据库.rar也是收集来的,不过代码很紧凑好用。谢谢是台湾人写的
本书选材新颖,实例涵盖范围广,具有一定的实用价值,通过本书的学习,可以使读者更好地掌握ASP.NET和SQL Server开发数据库应用程序技术,并将这些技术应用到实际的软件开发工程中。 本书适用于具有一定Web应用程序...
ASP.NET Excel导入SQLserver 数据库中
ASP.NET Excel导入SQLserver 数据库中
ASP实现上传EXCEL到SQL2000数据库
ASP.NET如何存取SQL Server数据库图片