怎样将SQL数据导出到EXCEL中

怎样将SQL数据导出到EXCEL中,第1张

从SQL 2008 到处数据到电脑桌面的代码:

insert into OPENROWSET('MicrosoftACEOLEDB120',

'Excel 120;Database=C:\Users\jroilee\Desktop\库存已处理xlsx;',

'SELECT 仓库类别名称,仓库代码,仓库名称,货品大类名称,价位大类,商品代码,颜色名称,季节名称,数量,金额 FROM [Sheet1$]' )

SELECT  FROM dboAAA

解释:导出文件放在桌面的“库存已处理xlsx”这个excel表格中。然后sql中的数据必须跟导出数据表头一致。

如下:

1、打开SQL Server Management Studio,然后找到相应的数据库

2、右键点击数据库名称,然后点选“任务-->导出数据”

3、d出"导入和导出向导"界面后,点击下一步按钮,进入"选择数据源"界面。“数据源”和“服务器名称”采用默认值,“身份验证”默认使用Windows身份验证,可选择“使用SQL Server身份验证”方式进行验证。“数据库”需要选择为要导出数据的目标数据库。

4、点击下一步,进入"选择目标"界面。默认目标为“SQL Native Client”,需要将目标进行重新选择为“Microsoft Excel”。然后选择导出位置(即“Excel文件路径”),并命名一个导出文件名。

5、点击下一步,进入"指定表复制或查询"界面。在该界面,可以选择数据导出模式,如果需要通过SQL查询语句精确导出部分数据,则选择“编写查询以指定要传输的数据”导出方式

6、如果选择的是第二种导出方式,则点击下一步按钮,进入“提供源查询”界面。在SQL语句栏中,输入查询条件,然后点击分析按钮检验SQL语句是否正确有效,如果分析显示“此SQL语句有效”,则可以继续执行下一步 *** 作。

7、点击下一步,进入“选择源表和源视图”界面。继续点击下一步按钮,进入“保存并执行包”界面。在该界面,点击下一步按钮,然后点击完成按钮,开始执行数据导出 *** 作。在执行结束后,即可在相应导出位置找到导出的Excel数据文件。

1、打开SQLServer表,进行查询,然后在SQLServer查询界面。鼠标右键点击查询结果的左上角空白列,点击“连同标题一起复制”。

2、打开EXCEL,创建新文件,在A1单元格上右键,选择粘贴。

3、然后点击EXCEL菜单上的文件,保存即可。

sql文件转成excel表格的步骤:

1、将sql文件放入数据库执行(这边以mysql数据库为例),SQL命令行 *** 作:

sql>@full_path/testsql;

例:sql>@D:/testsql;

不需要commit; 一般都是在testsql 里面最后加上一个commit;

2、从数据库导出数据至excel表格,SQL命令行 *** 作:

sql>select into outfile 'd:/testxls' from 表名;

例:sql>select into outfile 'd:/testxls' from test;

是不是选择数据类型不对,应选择excel97-2003,

不妨在excel内直接导,数据,导入外部数据,新建数据库查询,选择数据源,密码,选择数据表,再按提示步骤来。(前提是已安装offic query)

1、编写SQL存储过程(procedure);

2、使用SQL的BCP与exec masterxp_cmdshell命令完成指定数据表或内容导出;

3、使用SQL Server代理作业实现定时自动执行导出。

下面是过程详解,若你还有更好的方式,盼告知。

工具/原料

SQL Server Management Studio

BCP与exec masterxp_cmdshell

方法/步骤

1

Create一个新的procedure,在开头可以做一个判断来决定什么时候执行数据结果导出,下面来看看这个存储过程:

Create procedure [dbo][pr_Dept_Bak]

as

begin

---这里可以增加对数据表的查询条件或更多的数据处理;

---将结果放入一个新的数据表,然后将这个新表导出EXCEL文件;

declare @file_path varchar(200);--导出EXCEl文件的路径;

declare @file_name varchar(200);--导出EXCEl的文件名;

declare @exec_sql varchar(200);--SQL语句;

---分开定义是为了以后修改路径或文件名更方便。

set @file_path = 'E:\Dept_Bak\'

set @file_name = 'dept' + CONVERT(varchar(100), GETDATE(), 112)+'xls'

set @exec_sql = 'select from bookdbousers_dept' ---数据表使用的完整路径;

set @exec_sql = ' bcp "'+@exec_sql+'" queryout "'+@file_path+''+@file_name+'" -c -T -U "sa" -P "SQLpassword"';

----U "sa" -P "SQLpassword" 这是数据库的sa账号和密码;

exec masterxp_cmdshell @exec_sql

end

2

以上存储过程pr_Dept_Bak建立,需要导出的数据表是users_dept,导出的位置是数据库本地计算机的E:\Dept_Bak文件夹下。需要将这个文件夹建立好。

3

准备好之后,我们需要进行测试一下pr_Dept_Bak是否成功,执行pr_Dept_Bak存储过程,可以看到执行结果是成功的,若这里不成功,则需要检查一下带存储过程中的BCP与exec masterxp_cmdshell命令的格式是否正确。

4

导出功能实现了,现在需要设置定时自动执行导出。在SQL Server Management Studio中,SQL Server代理-作业-新建作业。

5

为新的作业设定名称,可以中文或英文,只是为了方便区分其它作业。

6

在步骤中,点击新建作业执行步骤。即需要定时自动执行的存储过程pr_Dept_Bak。为什么使用的存储过程,也是因为以后需要添加或修改功能更方便,而且存储过程更文件测试问题所在。

7

注意选择数据库,命令中输入exec pr_Dept_Bak 执行存储过程。因为命令语句都在存储过程中,所以这里就相对比较简单。

8

最后就是设定定时自动执行计划,如每天的XX时间自动执行这个存储过程,或间隔多少小时导出SQL表一次。

9

作业建立之后,则可以执行作业步骤来测试一次,是成功,右键点击建立的作业pr_Dept_Bak,作业开始步骤。

10

作业成功,若不成功,可以看到错误提示,可以在作业活动监视器中查看作业失败的原因,针对解决问题。

11

到E:\Dept_Bak文件夹下,可以看到导出的EXCEL文件了,接下来还可以使用的SQL的邮件功能,自动将这个EXCEL文件发送给指定的邮箱接收者。

以上就是关于怎样将SQL数据导出到EXCEL中全部的内容,包括:怎样将SQL数据导出到EXCEL中、sql server 2005 怎么导出数据到excel、如何将sql 2005 表里数据导出到excel等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9296947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存