要求是如果利用命令行 将select * from tc_contact a inner join tc_account b on a.account_id = b.account_id结果 直接生成一个xlsx文件(excel2007)。这个查询有大概七万条记录,四十多列。好苦恼。

解决方案 »

  1.   

    EXCEL 只能支持到65535 行
      

  2.   

    我知道是BCP,找了好多个命令,都有错误的。大家都是互相抄来抄去的。有没有人帮忙写一个呢。太感谢了。
      

  3.   

    能不能用VBA开发?
    分开sheet存储数据吧。
      

  4.   

    excel 2007 可以支持一百万行记录。所以我想将查询结果存入 xlsx这种格式的。
      

  5.   

    EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BYau_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
      

  6.   

    EXEC   master..xp_cmdshell   'bcp  "SELECT * FROM  mytest.dbo.TESTAB "  queryout  e:\test21.xls   -c  -S"zhaowenzhong"  -U"sa"  -P"123456" ' 
      

  7.   

    方法1.新建一个2007Excel文档,然后点菜单 数据,外部数据载入,数据载入,慢慢一步一步点下去。
    方法2.点数据库,有键,任务,数据输出,来源选数据库,目标选Excel文档, 然后用select 语句就行。
      

  8.   

    这个方法倒是值得参考,问题是我要用命令合并数据库中的两个表,然后导出到excel2007  ,这个要怎么做,你的方法不支持先select 数据,再导出,而是直接导出了。
      

  9.   


    /*将SQL SERVER中查询到的数据导成一个Excel文件*/
    T-SQL代码:
    EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P"password"'
    参数:S 是SQL服务器名;U是用户;P是密码实例
    EXEC master..xp_cmdshell 'bcp his.dbo.tb_test out d:test.xls -c -q -S"DATABASE" -U"sa" -P"password"'/*支持select数据再导出*/
    exec master..xp_cmdshell 'bcp " select * from his..t_emp where leave_flag=''N'' " queryout d:\emp.xls -c -U "sa" -P "password"' 
    --将数据库his中 表t_emp导出到d:\emp.xls ,即是导出成电子表格文件
      

  10.   

    exec master..xp_cmdshell 'bcp " select * from gposdb.dbo.CT_FuelingData a inner join gposdb.dbo.CT_InhouseCard b on a.VC_FD_Cardno = b.VC_IC_CardNO " queryout d:\emp.xls -c -U "sa" -P "test"' 
      

  11.   

    LZ你看一下这个exec master..xp_cmdshell 'bcp " select * from [youdbname].[dbo].tc_contact a inner join [youdbname].[dbo].tc_account b on a.account_id = b.account_id
     " queryout d:\emp.xls -c -U "sa" -P "密码"' 
      

  12.   

    LZ你看一下这个
    exec master..xp_cmdshell 'bcp " select * from [youdbname].[dbo].tc_contact a inner join [youdbname].[dbo].tc_account b on a.account_id = b.account_id
     " queryout d:\emp.xls -c -U "sa" -P "密码"' 
      

  13.   


    用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件
      [-m 最大错误数]             [-f 格式化文件]         [-e 错误文件]
      [-F 首行]                   [-L 末行]             [-b 批大小]
      [-n 本机类型]               [-c 字符类型]         [-w 宽字符类型]
      [-N 将非文本保持为本机类型] [-V 文件格式版本]     [-q 带引号的标识符]
      [-C 代码页说明符]           [-t 字段终止符]       [-r 行终止符]
      [-i 输入文件]               [-o 输出文件]         [-a 数据包大小]
      [-S 服务器名称]             [-U 用户名]           [-P 密码]
      [-T 可信连接]               [-v 版本]             [-R 允许使用区域设置]
      [-k 保留空值]               [-E 保留标识值]
      [-h"加载提示"]              [-x 生成 xml 格式化文件]
    NULL
      

  14.   

    再说明一下,我的记录超过65536条,所以用xls的格式不行,请问有什么别的方法,莫抄他人助我,谢谢。