咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

内容导航:


一、如何导出查询结果到EXCEL表


进入“查询”菜单中的查询界面,输入查询条件后,即可看到查询结果,点击相应按钮即可导出数据。 导出方式分为两种:点击【导出E】按钮进行导出(导出速度慢) 此按钮将数据直接导出为Excel文件,请按照以下方式进行设置: 在工作站安装目录下(如d:笛威欧亚)按右键新建一文件夹取名“excel”进入新建的“excel”目录,点击右键——新建——选择“Microsoft Excel工作表”,将产生一个名为“新建 Microsoft Excel 工作表.xls”的文件,请重新命名为“execl.xls”设置好后,按此导出按钮即可在“excel”目录里就会生成一张你所查询数据生成的表。点击【导出】按钮进行导出(导出速度快) 此按钮将数据导出为Txt的文本文件。按此按钮后,系统自动提示保存为txt文件,输入文件名后即可保存。


二、如何从excel表格中筛选数据导出


1、自动筛选:打开需要筛选的表格excel文件,使用鼠标点击单元格定位到含有数据的随意一单元格区域,点击菜单栏-数据-筛选-自动筛选
2、下拉箭头:选择自动筛选后数据栏目出现下拉箭头,点击下拉箭头出现筛选菜单。每一个下拉菜单对应一个筛选分类
3、筛选方式:点击数字筛选可以为含有大量数据的表格文件进行特定的数据筛选或某个数值区间的数据筛选。比如我们需要筛选出历史成绩小于85分的项目,点击数字筛选,选择小于,输入85即可进行筛选
4、建立区域:如果要筛选出多个分类的成绩如四门成绩大于80分的同学,我们需要预先建立条件区域,将数据整体上方空出三行或以上,分别对应输入数据分类和需要的条件限制
5、高级筛选:点击菜单栏-数据-筛选-高级筛选,以此打开高级筛选的菜单
6、列表区域和条件区域:打开高级筛选后可输入单元格范围或使用鼠标勾选需要的区域,分别勾选列表区域和条件区域
7、结果获取:如果需要让筛选的数据单独在其他地方显示,勾选将筛选结果复制到其他位置,并且手动点击需要作为存储的单元格即可
点击确定即可获取筛选结果


三、如何将查询出来的数据导出成excel形式


数据库表查询结果导出为excel文件:

1、准备好查询语句


2、选择数据库,启动导入和导出向导


3、选择数据源


4、选择目标


5、


6、


7、


8、


后续步骤一直点“下一步”按钮就好。


方法二:但是当要分别在每个表取样,那就相当麻烦了。

导出到Excel

使用说明:
1.执行时所连接的服务器决定文件存放在哪个服务器

2.远程查询语句中,要加上数据库名
ALTER PROC ExportFile
@QuerySql VARCHAR(max)
,@Server VARCHAR(20)
,@User VARCHAR(20)
,@Password VARCHAR(20)
,@FilePath NVARCHAR(100) = 'c:ExportFile.xls'
AS
DECLARE @tmp VARCHAR(50) = '[##Table' + CONVERT(VARCHAR(36),NEWID())+']'
BEGIN TRY
DECLARE @Sql VARCHAR(max),@DataSource VARCHAR(max)='';

判断是否为远程服务器
IF @Server <> '.' AND @Server <> '127.0.0.1'
SET @DataSource = 'OPENDATASOURCE(''SQLOLEDB'',''Data Source='+@Server+';User ID='+@User+';Password='+@Password+''').'
--将结果集导出到指定的数据库
SET @Sql = REPLACE(@QuerySql,' from ',' into '+@tmp+ ' from ' + @DataSource)
PRINT @Sql
EXEC(@Sql)

DECLARE @Columns VARCHAR(max) = '',@Data NVARCHAR(max)=''
SELECT @Columns = @Columns + ',''' + name +''''--获取列名(xp_cmdshell导出文件没有列名)
,@Data = @Data + ',Convert(Nvarchar,[' + name +'])'--将结果集所在的字段更新为nvarchar(避免在列名和数据union的时候类型冲突)
FROM tempdb.sys.columns WHERE object_id = OBJECT_ID('tempdb..'+@tmp)
SELECT @Data = 'SELECT ' + SUBSTRING(@Data,2,LEN(@Data)) + ' FROM ' + @tmp
SELECT @Columns = 'Select ' + SUBSTRING(@Columns,2,LEN(@Columns))
--使用xp_cmdshell的bcp命令将数据导出
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE
DECLARE @cmd NVARCHAR(4000) = 'bcp "' + @Columns+' Union All ' + @Data+'" queryout ' + @FilePath + ' -c -T'
PRINT @cmd
exec sys.xp_cmdshell @cmd
EXEC sp_configure 'xp_cmdshell',0
RECONFIGURE
EXEC('DROP TABLE ' + @tmp)
END TRY
BEGIN CATCH
--处理异常
IF OBJECT_ID('tempdb..'+@tmp) IS NOT NULL
EXEC('DROP TABLE ' + @tmp)
EXEC sp_configure 'xp_cmdshell',0
RECONFIGURE

SELECT ERROR_MESSAGE()
END CATCH

先不要着急使用,该版本是基于xp_cmdshell的,因为要创建文件,所以要保证用户能有文件管理的权限,通常简单点的方法就是将sql server的启动用户设置为本地系统用户


现在来执行看看:

查询分析器连接哪个服务器,文件就在哪个服务器上
本地导出
EXEC dbo.ExportFile @QuerySql = 'select * from sys.objects', -- varchar(max)
@Server = '.', -- varchar(20)
@FilePath = N'c:objects.xls' -- nvarchar(100)

远程导出
EXEC dbo.ExportFile @QuerySql = 'select * from master.sys.objects', -- varchar(max)
@Server = '192.168.1.52', -- varchar(20)
@User = 'sa', -- varchar(20)
@Password = 'sa', -- varchar(20)
@FilePath = N'c:52objects.xls' -- nvarchar(100)


执行结果如下,显示导出条数,就没有报错,再看看C盘,多了2个文件就大功告成了: