SQL SERVER 導入EXCEL的存儲過程


1.先在查詢分析器里執行

exec sp_configure "show advanced options",1
 reconfigure
 exec sp_configure "Ad Hoc Distributed Queries",1
 reconfigure

2.存儲過程

ALTER procedure [dbo].[sp_ImpCustomer]
 @ExcelPath varchar(1000),
 @SheetName varchar(100)='Sheet1',
 @ExcelField varchar(500)='帳號,姓名,機構,經紀人,區域經理,銷售行政,電話',
 @TableName varchar(100)='t_busi_callingcust'
as
begin
    set nocount on
    declare @strSql varchar(4000)
    -- 打開開關 
 --exec sp_configure "show advanced options",1
 --reconfigure
 --exec sp_configure "Ad Hoc Distributed Queries",1
 --reconfigure
 -- 重啟sql full-text filter daemon launcher,sql server倆個服務
 IF EXISTS  (SELECT * FROM dbo.SysObjects WHERE ID = object_id(@TableName)
  AND OBJECTPROPERTY(ID, 'IsTable') = 1)
  TRUNCATE TABLE t_busi_callingcust -- 刪除表中的所有數據
 else
     -- 創建表
  create table t_busi_callingcust(
  Accounts varchar(20) null,
  CustName varchar(50) null,
  Orgazition varchar(50) null,
  [Broker] varchar(50) null,
  DistrictManager varchar(50) null,
  SalesAdmin varchar(50) null,
  Tel varchar(30) null
  )
 SET @ExcelPath = '''Microsoft.Jet.OLEDB.4.0'',''Data Source="' + @ExcelPath + '";User ID=Admin;Password=;Extended properties=Excel 5.0'''
 SET @strSql = 'insert into ' +@TableName+' select * from opendatasource('+@ExcelPath+')...'+@SheetName+'$'
 --print @strsql
 EXEC(@strSql)
 set nocount off
end


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM