1. sql中如何將查詢後的結果集轉成Excel表格
在查詢分析器生成的
結果集
里點滑鼠右鍵
有個「將結果另存為」,選csv格式就可以了
csv用EXCEL可以打開,如果覺得不合適,可以在EXCEL里選擇另存為xsl
直接用查詢分析器轉EXCEL,不說其難度,光是在伺服器上開啟sp_shell就足夠危險
2. 如何把sql的數據表導入到excel中
一、在EXCEL中
新建一列,如把列名定為ab,下面放你的數據,比如1,2,3……
二、打開SQL
企業管理器
,
右擊
你所需要導入的資料庫,選擇導入數據,下一步,數據源選擇Microsoft
Eccel
97-2000,選擇excel文件繼續下一步,往下按,選擇Sheet1$或者2,3
看你把數據放在那一頁,點轉換可以根據你自己需要設置一些欄位屬性,目的里改一下表的名字(如果是要往已存在的表裡插數據,應該要選擇往目的表中追加數據,但
欄位名
應該要一樣,如果是添加新建表,選擇創建目的表),新建表的話,表名自己隨便寫什麼好了,容易記就好。設置完了就點下一步就導入了。當然可以先預覽一下。
如果不熟悉,建議還是添加新建表吧,再用insert語句把導入的數據插入到你所需要插入的表裡。
3. 怎麼把SQL的數據導出成excel
/*===========================================*/
--假如從sql資料庫中,導出數據到excel,假如excel文檔已存在,而且已按照要接收的數據創建好表頭,就能夠簡單的用:
insert into openrowset(microsoft.jet.oledb.4.0
,excel 5.0;hdr=yes;database=c:test.xls,sheet1$)
select * from 表
--假如excel文檔不存在,也能夠用bcp來導成類excel的文檔,注意大小寫:
--導出表的情況
exec master..xp_cmdshell bcp 資料庫名.dbo.表名 out "c:test.xls" /c -/s"伺服器名" /u"用戶名" -p"密碼"
--導出查詢的情況
exec master..xp_cmdshell bcp "select au_fname, au_lname from pubs..authors order by au_lname" queryout "c:test.xls" /c -/s"伺服器名" /u"用戶名" -p"密碼"
/*--說明:
c:test.xls 為導入/導出的excel文檔名.
sheet1$ 為excel文檔的工作表名,一般要加上$才能正常使用.
--*/
--上面已說過,用bcp導出的是類excel文檔,其實質為文本文檔,
--要導出真正的excel文檔.就用下面的方法
/*--數據導出excel
導出表中的數據到excel,包含欄位名,文檔為真正的excel文檔
,假如文檔不存在,將自動創建文檔
,假如表不存在,將自動創建表
基於通用性考慮,僅支持導出標准數據類型
--鄒建 2003.10--*/
/*--調用示例
p_exporttb @tbname=地區資料,@path=c:,@fname=aa.xls
--*/
if exists (select * from dbo.sysobjects where id = object_id(n[dbo].[p_exporttb]) and objectproperty(id, nisprocere) = 1)
drop procere [dbo].[p_exporttb]
go
create proc p_exporttb
@tbname sysname, --要導出的表名
@path nvarchar(1000), --文檔存放目錄
@fname nvarchar(250)= --文檔名,默認為表名
as
declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)
--參數檢測
if isnull(@fname,)= set @fname=@tbname+.xls
--檢查文檔是否已存在
if right(@path,1)<> set @path=@path+
create table #tb(a bit,b bit,c bit)
set @sql=@path+@fname
insert into #tb exec master..xp_fileexist @sql
--資料庫創建語句
set @sql=@path+@fname
if exists(select 1 from #tb where a=1)
set @constr=driver={microsoft excel driver (*.xls)};dsn=;readonly=false
+;create_db=" +;database=+@sql+"
--連接資料庫
exec @err=sp_oacreate adodb.connection,@obj out
if @err<>0 goto lberr
exec @err=sp_oamethod @obj,open,null,@constr
if @err<>0 goto lberr
/*--假如覆蓋已存在的表,就加上下面的語句
--創建之前先刪除表/假如存在的話
select @sql=drop table [+@tbname+]
exec @err=sp_oamethod @obj,execute,@out out,@sql
--*/
--創建表的sql
select @sql=,@fdlist=
select @fdlist=@fdlist+,[+a.name+]
,@sql=@sql+,[+a.name+]
+case when b.name in(char,nchar,varchar,nvarchar) then
text(+cast(case when a.length>255 then 255 else a.length end as varchar)+)
when b.name in(tynyint,int,bigint,tinyint) then int
when b.name in(smalldatetime,datetime) then datetime
when b.name in(money,smallmoney) then money
else b.name end
from syscolumns a left join systypes b on a.xtype=b.xusertype
where b.name not in(image,text,uniqueidentifier,sql_variant,ntext,varbinary,binary,timestamp)
and object_id(@tbname)=id
select @sql=create table [+@tbname
+](+substring(@sql,2,8000)+)
,@fdlist=substring(@fdlist,2,8000)
exec @err=sp_oamethod @obj,execute,@out out,@sql
if @err<>0 goto lberr
exec @err=sp_oadestroy @obj
--導入數據
set @sql=openrowset(microsoft.jet.oledb.4.0,excel 5.0;hdr=yes
;database=+@path+@fname+,[+@tbname+$])
exec(insert into +@sql+(+@fdlist+) select +@fdlist+ from +@tbname)
return
lberr:
exec sp_oageterrorinfo 0,@src out,@desc out
lbexit:
select cast(@err as varbinary(4)) as 錯誤號
,@src as 錯誤源,@desc as 錯誤描述
select @sql,@constr,@fdlist
go
--上面是導表的,下面是導查詢語句的.
/*--數據導出excel
導出查詢中的數據到excel,包含欄位名,文檔為真正的excel文檔
,假如文檔不存在,將自動創建文檔
,假如表不存在,將自動創建表
基於通用性考慮,僅支持導出標准數據類型
--鄒建 2003.10--*/
/*--調用示例
p_exporttb @sqlstr=select * from 地區資料
,@path=c:,@fname=aa.xls,@sheetname=地區資料
--*/
if exists (select * from dbo.sysobjects where id = object_id(n[dbo].[p_exporttb]) and objectproperty(id, nisprocere) = 1)
drop procere [dbo].[p_exporttb]
go
create proc p_exporttb
@sqlstr varchar(8000), --查詢語句,假如查詢語句中使用了order by ,請加上top 100 percent
@path nvarchar(1000), --文檔存放目錄
@fname nvarchar(250), --文檔名
@sheetname varchar(250)= --要創建的工作表名,默認為文檔名
as
declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)
--參數檢測
if isnull(@fname,)= set @fname=temp.xls
if isnull(@sheetname,)= set @sheetname=replace(@fname,.,#)
--檢查文檔是否已存在
if right(@path,1)<> set @path=@path+
create table #tb(a bit,b bit,c bit)
set @sql=@path+@fname
insert into #tb exec master..xp_fileexist @sql
--資料庫創建語句
set @sql=@path+@fname
if exists(select 1 from #tb where a=1)
set @constr=driver={microsoft excel driver (*.xls)};dsn=;readonly=false
+;create_db=" +;database=+@sql+"
--連接資料庫
exec @err=sp_oacreate adodb.connection,@obj out
if @err<>0 goto lberr
exec @err=sp_oamethod @obj,open,null,@constr
if @err<>0 goto lberr
--創建表的sql
declare @tbname sysname
set @tbname=##tmp_+convert(varchar(38),newid())
set @sql=select * into [+@tbname+] from(+@sqlstr+) a
exec(@sql)
select @sql=,@fdlist=
select @fdlist=@fdlist+,[+a.name+]
,@sql=@sql+,[+a.name+]
+case when b.name in(char,nchar,varchar,nvarchar) then
text(+cast(case when a.length>255 then 255 else a.length end as varchar)+)
when b.name in(tynyint,int,bigint,tinyint) then int
when b.name in(smalldatetime,datetime) then datetime
when b.name in(money,smallmoney) then money
else b.name end
from tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xusertype
where b.name not in(image,text,uniqueidentifier,sql_variant,ntext,varbinary,binary,timestamp)
and a.id=(select id from tempdb..sysobjects where name=@tbname)
select @sql=create table [+@sheetname
+](+substring(@sql,2,8000)+)
,@fdlist=substring(@fdlist,2,8000)
exec @err=sp_oamethod @obj,execute,@out out,@sql
if @err<>0 goto lberr
exec @err=sp_oadestroy @obj
--導入數據
set @sql=openrowset(microsoft.jet.oledb.4.0,excel 5.0;hdr=yes
;database=+@path+@fname+,[+@sheetname+$])
exec(insert into +@sql+(+@fdlist+) select +@fdlist+ from [+@tbname+])
set @sql=drop table [+@tbname+]
exec(@sql)
return
lberr:
exec sp_oageterrorinfo 0,@src out,@desc out
lbexit:
select cast(@err as varbinary(4)) as 錯誤號
,@src as 錯誤源,@desc as 錯誤描述
select @sql,@constr,@fdlist
go
4. 怎麼將sql數據表導到excel
選擇要導出的資料庫表,右鍵選擇「所有任務」,點擊「所有任務」下的子菜單「Export Data„」進入「DTS Import/Export Wizard」窗口。
點擊「下一步」,進入「Choose a Data Source」。
「Data Source」更改為「Microsoft OLE DB Provider for SQL Server」;「Server」更改為「筆記本(工控機)名稱WINCC」;下一步使用WINDOWS認證「Use Windows Authentication」;「Database」更改為「項目運行系統下的路徑(例如:CC_BGSYJ_14_02_24_11_22_22R)」。
點擊「下一步」,進入「Choose a destination」。
「Destination」更改為「Microsoft Excel 97-2000」;「File name」建議更改為要導出的資料庫表的名字,並指定保存的路徑。
點擊「下一步」,進入「Specify Table Copy Query」。
點擊「下一步」,進入「Select Source Table and Views」。
選擇要導出的資料庫表,然後點擊「下一步」,進入「Save,Schele,and replicate package」
點擊「下一步」,「完成」,「確定」,「Done」,數據導出完成。
5. .sql怎麼轉成excel
.sql文件轉成excel表格的步驟:
1、將sql文件放入資料庫執行(這邊以mysql資料庫為例),SQL命令行操作:
sql>@full_path/test.sql;
例:sql>@D:/test.sql;
不需要commit; 一般都是在test.sql 裡面最後加上一個commit;
2、從資料庫導出數據至excel表格,SQL命令行操作:
sql>select * into outfile 'd:/test.xls' from 表名;
例:sql>select * into outfile 'd:/test.xls' from test;
6. 怎樣將SQL中的表導出為excel
SQLServer表數據導出為Excel文件
一、少量數據導出
1、在查詢分析器中,使用SQL語句檢索要導出的數據
2、選中所有數據,點擊滑鼠右鍵,選擇另存為CSV文件
3、用EXCEL把CSV文件另存為xls文件。
二、表格批量導出
1、開始菜單選擇"導入和導出數據"
2、選擇要導出的資料庫,如圖配置
3、設置導出目標
4、設置目標文件
5、選擇篩選數據發送
6、選擇導出的表格
7、完成設置
7. 如何把SQLServer表數據導出為Excel文件
1、打開軟體,在資料庫中有一張student表,現在要把這張表中的數據導出成excel文件。
8. SQL2000里的表怎麼導出為excel格式的
在你要導出的表上點右鍵,選擇[所有任務]里的[導出數據]
在彈出的DTS導入/導出對話框里第一步是設置導出的數據源,直接點下一步
在[選擇目的]里設置你要導出到的EXCEL文件的路徑,然後下一步就可以了
9. 如何將sql資料庫中某個表的數據導成Excel
可按如下方法:
1、登錄資料庫,用select
*
的方式將數據查出。
2、在結果處右鍵——選擇「將結果另存為」
3、選擇路徑,起好文件名,將格式選為「csv格式」,點擊保存即可。