SQLServer 從Excel批量導入數據

1、從excel查詢數據

(1)Select *
From OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:/a.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...Sheet1$

這裏需要注意的是excel表中的第一行是標題行,不屬於數據記錄。而且在查詢的時候,它是按照ASIC排序的,除非指定列的順序。

(2)select *  from OpenRowSet('Microsoft.Jet.OLEDB.4.0','Excel 8.0;hdr=yes;IMEX=1;DataBase=C:/a.xls','select * from [sheet1$]')

HDR=YES 有兩個值:YES/NO,表示第一行是否字段名,默認是YES,第一行是字段名;
IMEX=1 解決數字與字符混合時,識別不正常的情況

2、把excel裏的數據導入到sqlserver表中

(1)insert into userinfo(username,userpwd,userclass)
Select *
From OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:/a.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...Sheet1$

這裏需要注意的是excel表中的第一行是標題行,不屬於數據記錄。而且在查詢的時候,它是按照ASIC排序的,除非指定列的順序。
into 表(字段1,字段2,...)要填寫上。

(2)select * into userinfo from OpenRowSet('Microsoft.Jet.OLEDB.4.0','Excel 8.0;hdr=No;IMEX=1;DataBase=C:/a.xls','select * from [sheet1$]')

應用上面的語句,整個表裏面的數據將被清空,附上的是excel裏面的數據記錄。

 

3、從SQLSERVER導入到EXCEL中

INSERT INTO OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 8.0' )...Sheet1$
          SELECT productno, productname, modelspec, maxinventory, mininventory
        FROM product

這裏注意excel在建立後要寫明表頭。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章