如何在vb.net中将一个已经帮定好的sql server的表保存为一个excel表格?
来源:百度知道 编辑:UC知道 时间:2024/05/09 05:37:55
要用T-SQL语句直接导出至Excel工作薄,就必须借用SQL Server管理器的一个扩展存储过程:“xp_cmdshell”,此过程的作用为“以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。”下面为定义示例:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Book3.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户名;P是密码,没有就空着
说明:其实用这个过程导出的格式实质上就是文本格式的,不信的话在导出的Excel表中改动一下再保存看看。
实际例子与说明如下:
A,将表整个导出至Excel:
EXEC master..xp_cmdshell 'bcp northwind.dbo.orders out c:\Book1.xls -c -q -S"(local)" -U"sa" -P""'
注:
××northwind.dbo.orders,为数据库名+拥有者+表名
××直接导出用“out”关健字
-------------------------------------------
B,利用查询来导出部分字段至Excel:
EXEC master..xp_cmdshell 'bcp "SELECT orderid,cutomerid,freight FROM northwind..orders ORDER BY orderid" queryout C:\ Book1.xls -c -S"(local)" -U"sa" -P""'
注:
××在bcp后面加了一个查询语句,并用双引号括起来