`
freshflower
  • 浏览: 188112 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ASP实现 将Excel表格数据批量导入到SQLServer数据库

阅读更多

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

 

注: 原文出处: http://freshflower.iteye.com/blog/1774733

分享到:
评论

相关推荐

    ASP.NET将EXCEL导入SQL SERVER数据库的代码

    在ASP.NET中,将Excel数据导入SQL Server数据库是一项常见的任务,尤其在处理大量表格数据时。这个过程通常涉及读取Excel文件,解析其内容,并将其批量插入到数据库表中。以下是一个详细的步骤介绍和相关知识点: 1...

    实现将excel中的数据批量导入到access

    本篇文章将基于提供的代码示例,详细讲解如何实现将Excel中的数据批量导入到Access数据库的过程。 #### 核心知识点解析 1. **ASP编程基础**: - ASP(Active Server Pages)是一种服务器端脚本环境,在HTML页面中...

    asp做的excel上传SQLSERVER数据库

    标题中的“asp做的excel上传SQLSERVER数据库”表明这是一个关于使用ASP(Active Server Pages)技术将Excel数据上传到SQL Server数据库的应用。ASP是一种经典的服务器端脚本语言,常用于构建动态网页。在这个场景中...

    asp.net导入导出excel表,导入到sql数据库

    首先,我们需要连接到Excel文件(视为数据源),然后使用SELECT查询获取数据,将结果集转换为DataTable,最后通过SqlBulkCopy类将DataTable批量插入到SQL Server数据库中。这种方式适用于大量数据的快速导入。 2. *...

    EXCEL到入到sqlserver数据库案例

    标题“EXCEL到入到sqlserver数据库案例”表明我们将通过编程方式实现这一过程,而描述中提到的“上传+导入sql的代码”则暗示我们将涉及到文件上传和SQL操作。 首先,我们需要了解基础概念。Excel是一种流行的电子...

    ASP导入Excel电子表格数据到SQL+Sever数据库.rar

    在本场景中,"ASP导入Excel电子表格数据到SQL+Sever数据库"指的是使用ASP技术将Excel文件中的数据导入到SQL Server数据库的过程。这个过程在数据分析、数据迁移或系统集成等任务中非常常见,尤其当需要处理大量结构...

    ASP实现上传EXCEL到SQL2000数据库

    在IT领域,将数据从Excel表格导入到SQL Server数据库是一项常见的任务,特别是在处理大量结构化数据时。在本例中,我们将关注如何使用ASP(Active Server Pages)来实现在SQL Server 2000中上传并处理Excel文件。ASP...

    Asp.Net实现Excel导入SQL Server

    在Asp.Net中实现Excel数据导入到SQL Server是一项常见的任务,尤其在数据处理和报表生成等领域。本示例(ImportDemo)将展示如何在win7系统环境下,利用VS2008开发工具,配合SQL2005数据库和Office2010的Excel文件,...

    EXCEL导入到SQL数据库

    "EXCEL导入到SQL数据库"这个主题涉及到如何将Excel中的数据有效地整合到结构化的SQL Server数据库中,以便进行更高效的数据管理和查询。 首先,让我们详细了解一下Excel。Excel是一款由Microsoft开发的电子表格应用...

    asp将本地excel数据上传到access数据库中,也可用与其它数据库

    本示例主要关注如何利用ASP(Active Server Pages)技术将本地Excel数据导入到Access数据库中。这种方法同样适用于其他类型的数据库,只要适当地调整连接和处理方式。以下将详细介绍这个过程的关键知识点。 1. ASP...

    asp中导入excel文件数据到access数据库中程序代码

    4. **插入数据到Access数据库**:根据解析出的数据,执行SQL语句将数据插入到Access数据库中。 示例代码如下所示: ```vb &lt;!-- result.asp --&gt; 'on error resume next Dim filePath, fileName, fileExt, file_...

    Excel导入SQLserver源码

    标题中的“Excel导入SQLserver源码”指的是一个ASP.NET应用程序,该程序允许用户将Excel文件的数据导入到SQL Server数据库中。这种功能在数据处理、数据分析和报表生成等场景中非常常见,尤其对于需要批量处理大量...

    excle中数据导入到sql数据库(asp.net)

    在IT行业中,将Excel数据导入SQL数据库是一项常见的任务,尤其在数据分析、报表生成或系统集成时。本场景中,我们关注的是如何利用ASP.NET技术来实现这一过程。首先,我们需要理解涉及的三个主要元素:Excel文件(....

    asp.net处理导入excel表到sql数据库

    在ASP.NET中,处理Excel文件导入到SQL数据库是一项常见的任务,尤其在数据处理、数据分析或者系统集成场景下。本文将详细讲解如何实现这个过程,包括支持.xlsx和.xls这两种不同的Excel文件格式。 首先,我们需要...

    excel数据导入access数据库小程序

    标题中的“Excel数据导入Access数据库小程序”指的是一个ASP(Active Server Pages)编程实现的应用程序,它的主要功能是帮助用户高效地将Excel电子表格中的数据批量导入到Access数据库中。这样的工具在数据处理和...

    asp批量导入excel数据

    这个功能可以帮助用户快速、高效地将Excel表格中的数据整合到Access数据库中,提高工作效率。 在实现这个功能时,主要涉及以下知识点: 1. **ADO对象**:ActiveX Data Objects (ADO) 是Microsoft提供的一套用于...

    Excel数据批量导入与Excel文件的导出

    2. **导出数据到CSV**:如果你想将数据导出到其他非Excel程序,CSV是一个理想的选择,因为它的通用性。在“数据”菜单中,选择“导出”或“另存为”,然后设置为CSV格式。 3. **Power Pivot数据模型**:对于大数据...

    .net asp.net制作的Excel导入SQL数据库源码 asp.net源码

    5. **数据库操作**:使用ADO.NET或Entity Framework等数据访问技术,连接到SQL Server数据库,并执行准备好的SQL语句。 6. **错误处理与日志记录**:在整个过程中,应捕获可能的异常,提供友好的用户反馈,并记录...

    EXCL表导入SQL/sqlserver2000的.NET源码

    这样的代码对于那些需要从Excel电子表格批量导入数据到SQL Server数据库的开发者来说是非常有价值的参考资料。 标签进一步明确了技术关键点:"EXCL"指的是Excel文件,"sqlserver2000"是数据库系统,"C#源码"说明了...

Global site tag (gtag.js) - Google Analytics