sqlserver2000 下導出Excel數據


--命令行方法

導出爲Excel

EXEC master..xp_cmdshell 'bcp system_manager.dbo.family_code out c:\temp1.xls -c -q - 
S"GNETDATA/GNETDATA" -U"sa" -P""'

--該方法導出的Excel是文本文件,不是真正的Excel,因此打開時,office會提示擴展名與格式不兼容,但是不影響正常顯示。

--不支持select之類的查詢結果導出

--命令行導入數據的方法未測試,這裏就不寫了


--使用OpenDataSource

--從外部Excel讀取記錄,要求excel文件已存在,而且字段列名一致

SELECT id, name FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','
Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...sheet1$
 
向外部Excel插入記錄,要求excel文件已存在,而且字段列名一致
insert into OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0'
)...sheet1$(code_id, code_type, code_info) 
select code_id, code_type, code_info from bjgl_code_base


--使用OPENROWSET
select code_id, code_type, code_info  from  OPENROWSET('MICROSOFT.JET.OLEDB.4.0'  ,
'Excel 5.0;DATABASE=c:\test.xls',sheet1$)


--向外部excel數據時,會把字段的順序搞錯
insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0'  ,
'Excel 5.0;DATABASE=c:\test.xls',sheet1$) select code_id, code_type, code_info from bjgl_code_base
--實際上插入順序爲 code_id, code_info, code_type
*/


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