萬盛學電腦網

 萬盛學電腦網 >> Excel教程 >> excel綜合 >> Excel表格裡的數據導入SQLSERVER數據庫

Excel表格裡的數據導入SQLSERVER數據庫

   在查詢分析器裡,操作數據庫對象選擇Lee直接寫 SQL語句:

  如果是導入數據到現有表,則采用

  INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

  ,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)

  的形式

  如果是導入數據並新增表,則采用

  SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

  ,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)

  的形式。

  以上語句是將 EXCEL文件裡 SHEET1工作表中所有的列都讀進來,如果只想導部分列,可以

  INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

  ,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)

  其實可以將 OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

  ,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)當成一個表,例如我就寫過這樣一個句子:

  INSERT INTO eval_channel_employee(channel,employee_id)

  SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END

  ,b.id FROM

  OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

  ,'Excel 5.0;HDR=YES;DATABASE=c:tempname.xls',sheet1$) AS a,pers_employee b

  WHERE a.員工編碼 =b.code

  簡單的方法:

  SQL2005中直接可以實現導入功能 SQL2008不知道可不可以。

  操作過程如下:

  第一步:登錄到 SQL Server Management Studio,

  第二步:在 "對象資源管理器 "中右鍵單擊 "管理 ",在彈出列表中單擊 "導入數據 "

  第三步:在 "導入向導 "對話框中單擊 "下一步 ",進入到 "選擇數據源 "對話框,在 "數據源 "列表中選擇 "Microsoft Excel ",同時選擇相應的 Excel 文檔,完成後單擊 "下一步 "(一定要勾選該對話框中的 "首行包含列名稱 ",因此它是將 Excel文檔中的列標題為數據庫表中的列項標題)

  第四步:指定目標數據庫服務,依次單擊 "下一步 "…至到 "完成 "

  第五步:重新打到 SQL Server Management Studio,進入到導入的數據庫表,可以發現所導入的 Excel文檔數據。

  你試下下面的吧:

  打開SQL Server Configuration Manager,啟用SQL Server Agent(實例名)。 啟動模式更改為"自動"

copyright © 萬盛學電腦網 all rights reserved