當前位置:編程學習大全網 - 源碼下載 - 如何用ASP代碼將EXCEL數據導入SQL SERVER數據庫?

如何用ASP代碼將EXCEL數據導入SQL SERVER數據庫?

定義打開Excel表格的函數。

函數OpenExcel(路徑)

dim excel,rs,strsql

出錯時繼續下壹步

設置rs =服務器。CreateObject("ADODB。記錄集”)

設置excel = Server。CreateObject("ADODB。連接”)

excel。open " Driver = { Microsoft Excel Driver(*。xls)};DBQ = " & amp;小路

If Err.number & lt& gt那麽0

回應。寫“請檢查上傳的Excel文件內部格式,文件無法打開,導入失敗!”

回應。結束

如果…就會結束

strsql = " select * from[Sheet1$]" '在此指定工作簿名稱,默認值為sheet 1 $。

設置rs = excel。執行(strsql)

設置OpenExcel = rs

結束功能

讀取文件的內容。

Dim rsInfo

設置rsInfo = Server。CreateObject("ADODB。記錄集”)

Set rsInfo = OpenExcel("E:/a.xls ")'請使用服務器。Path在此獲取文件路徑。

檢查讀數結果。

如果rsInfo。狀態& lt& gt那麽1

回應。寫上“請檢查Excel文件中的工作表是否名為Sheet1。導入失敗!”

回應。結束

如果…就會結束

如果rsInfo。EOF和rsInfo。那就BOF吧

回應。寫“Excel表中沒有找到數據,導入失敗!”

回應。結束

如果…就會結束

If為Null(rsInfo。字段(0))或Trim(rsInfo。Fields(0))= " "那麽

回應。寫“Excel表中沒有找到數據,導入失敗!”

回應。結束

如果…就會結束

在此指定導入數據的列數。如果列數較少,則退出。

如果rsInfo。Fields . Count & lt那就7

回應。寫“Excel表中數據列數不正確。導入失敗!”

回應。結束

如果…就會結束

創建數據庫連接

康涅狄格州dim dbrs,sql

設置conn =服務器。CreateObject("ADODB。連接”)

設置dbrs = Server。CreateObject("ADODB。記錄集”)

註意:G_DB_ConnectString是連接數據庫的字符串,是自己定義的。

連接字符串= G _ DB _連接字符串

打開數據庫連接。

創建臨時表

SQL = " IF EXISTS(SELECT * FROM sysobjects WHERE xtype = ' U ' and name = ' tmp _ PartRes ')"

sql = sql & amp" BEGIN Drop table tmp_PartRes END "

sql = sql & amp"創建表tmp _ PartRes([ID]int identity(1,1),"

sql = sql & amp" PartID varchar(100),Brand varchar(100),[Package] varchar(100),"

sql = sql & amp" BatchNo varchar(100),[Price] varchar(100),[Stock]varchar(100)default(' 0 '),"

sql = sql & amp"簡短varchar(100),StockFlag int default(1),"

sql = sql & amp" SuperFlag int default(1),SaleFlag int default(1)"

連接.執行sql

註意:只取表的結構,不取數據,因為這是我剛創建的臨時表,沒有數據。

如果表中有數據,註意添加條件句,防止獲取數據,如:其中ID = -1。

sql = "SELECT * FROM tmp_PartRes "

Dbrs。“CursorLocation = 3”這必須設置為3。

Dbrs。“打開sql,conn,3,4”此處的參數必須是3和4。

得到表結構後,關閉活動連接和數據庫連接是非常重要的,否則導入速度會非常慢。

設置DBR。ActiveConnection =無

連接關閉

從excel中提取數據,並將數據從Excel放入數據庫表中。

而不是rsInfo。文件結束

If Trim(rsInfo。字段(0))& lt;& gt”“那麽

dbrs。添加新內容

dbrs(" PartID ")= Ucase(Trim(RS info)。字段(0)))

dbrs("Brand") = Trim(rsInfo。字段(1))

dbrs("Package") = Trim(rsInfo。字段(2))

dbrs("BatchNo") = Trim(rsInfo。字段(3))

dbrs("Price") = Trim(rsInfo。字段(4))

If Trim(rsInfo。字段(5))& lt;& gt”“那麽

dbrs("Stock") = Trim(rsInfo。字段(5))

其他

dbrs("股票")= "0 "

如果…就會結束

dbrs("Brief") = Trim(rsInfo。字段(6))

如果…就會結束

rsInfo。下壹步

將記錄集更新到數據庫臨時表

控制室,打開,打開連接。

dbrs。主動連接=連接

Dbrs。“UpdateBatch”批量更新功能

更新完成後關閉連接。

dbrs。關閉

設置dbrs =無

rsInfo。關閉

設置rsInfo =無

  • 上一篇:Hive中Order by和Sort by的區別是什麽
  • 下一篇:柿子和什麽食物有共同點?柿子有哪些禁忌?
  • copyright 2024編程學習大全網