查询的结果不要导出到EXCEL,导出成CSV文本格式要快得多!!!

解决方案 »

  1.   

    建议楼主导成csv文件吧
    可以参考下面的文章
    http://topic.csdn.net/u/20080612/10/369a8050-e5a7-4926-92b9-af5733bdf94c.html?2030319469http://topic.csdn.net/u/20070410/11/5a61aeb5-8145-4129-b92f-2a1ae9d9c466.html
      

  2.   

    exec master..xp_cmdshell ''bcp "库名..表名" out "d:\tt.xls" -c -t ,-U sa -P password''
      

  3.   

    exec master..xp_cmdshell "bcp corpinfo..T_DAT_CORPINFO out d:\tt.xls -c -t -U username -P password"
      

  4.   

    是一段sql查詢語句,用這個可以么
      

  5.   

    导入/导出Excel 
    http://tb.blog.csdn.net/TrackBack.aspx?PostId=20084
      

  6.   

    --如果从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文件的工作表名,一般要加上$才能正常使用.
      

  7.   

    EXCEL2007的确切数字是:1048576行;16384列
    EXCEL2007之前的版本是:65536行。
    看看是不是太大! 
      

  8.   

    --如果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文件的工作表名,一般要加上$才能正常使用.