將Excel中的資料匯入至MsSQLSERVER中(示例) (轉)

amyz發表於2007-11-24
將Excel中的資料匯入至MsSQLSERVER中(示例) (轉)[@more@]

'/*************************************************************************/
'/*  EXCEL資料證書匯入            */
'/*  -6-13 yinxiang              */
'/*************************************************************************/
'/* dataIntoServer_ceritificate(strFileName,strSheetName,myConn,strKind)    */
'/* 引數說明:  */
'/*  strFileName --XLS名   */
'/*  strSheetName--標籤名    */
'/*  myConn--外連線  */
'/*  strKind--專業程式碼  */
'/************************************************************************/
sub dataIntoSqlServer_ceritificate(strFileName,strSheetName,myConn,strKind)
  '定義
  dim myConnection
  dim strName
  dim rs,rsSql
  dim str_Xsl,str_Sql
  dim myConn_Xsl
  dim cmd
  dim i,j
  dim strKmId  '科目ID號
  dim maxId
  dim maxOrderId
  dim maxKm
 dim str_Date
 dim str_Kind

  strName=strFileName
  set myConnection=server.create("ado.connection")
  set rsXsl=Server.Createobject("ADODB.Recordset")
  set rsSql=Server.CreateObject("ADODB.Recordset")
  set cmd=Server.CreateObject("ADODB.Command")
  set cmd.ActiveConnection=myConn
 
  '證書種類
  str_Kind=split(strKind,"-")
 
  '加入日期時間
  str_Date=FormatDateTime(Date(),2)& " " & Time()
  myConn_Xsl="Provr=.Jet.OLEDB.4.0;Data =" & strName& ";Extended Properties= 8.0"
  '開啟連線
  myconnection.open myConn_Xsl
 
  '開啟表
  str_Xsl=" * from ["& strSheetName &"$]"
  rsXsl.open str_Xsl,myconnection,1,1
 
  '//姓名,身份證號碼,證書號碼,簽發日期,有效日期
 j=1
  Do While not rsXsl.eof
 
  ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  '取出最大值
  str_Sql="select Max(id) as maxId from ceritificate"
  rsSql.open str_Sql,myConn,1,3
  If Not rsSql.Eof Then
  If not isNull(rsSql("maxId")) Then
  maxId=Clng(rsSql("maxId"))+1
 Else
  maxId=1
 End if
  else
  maxId=1
  End if
  rsSql.close'//關閉
'加入成績單
str_Sql=" insert into ceritificate values("&maxId&",'"&rsXsl(0)&"','"&rsXsl(1)&"','"&rsXsl(2)&"','"& str_Kind(0) & "','" & rsXsl(3)& "','"&rsXsl(4) &"','" & str_Date &"')"
  cmd.CommandText=str_Sql
  cmd.Execute() 
  '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  j=j+1
  rsXsl.movenext
  L
 
  response.write "" & str_Kind(1) & "證書匯入成功.
"
  response.write "共匯入" & j & "條證書資訊.
"
  response.write "關閉視窗"
  set rsXsl=nothing
  set rsSql=nothing
  set myconnection=nothing
  set cmd=nothing 
end sub

程式碼說明:
  1)上列程式碼是將EXCEL中的資料資訊匯入至SQLSERVER中,strKind引數是指證書的種類;
  2) 連結Excel字串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName& ";Extended Properties=Excel 8.0" 
  3)  str_Xsl="select * from ["& strSheetName &"$]"這條語句是確定是Excel哪一個表籤,即表


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-983686/,如需轉載,請註明出處,否則將追究法律責任。

相關文章