各种意见都欢迎!

解决方案 »

  1.   

    为什么要用java写啊。Oracle的标准功能就提供了写一个脚本sql1.sql,用sqlplus执行这个脚本就好了。
    set head off
    set spool=c:\test.csvselect a.col1||','||a.col2||','||a.col3 from table a where ....spool off
    set head on
    exit其中csv是个文本文件,但是用excle直接打开就可以
      

  2.   

    恩,期待结果
    我做过一个,不过没这么大的结果数据
    用的是org.apache.poi.hssf.usermodel.java接口哦
    感觉速度还可以
      

  3.   

    yqwd911(windy) 说的有道理,不过,我们程序要求是在后台每天自己运行的。小弟对Orcale不是怎么熟,问一下能不能写一个存储过程,然后直接写到excel中。
      

  4.   

    yqwd911(windy)的办法就可以实现了,他的方法刚好符合你的需求。
      

  5.   

    同意  yqwd911(windy)
    很不错
      

  6.   

    窃以为这样的想法不可取,没必要将这么大数据量的数据导入到excel,你有试过打开一个50M的excel文件么?除了表面上实现了客户要求,本身没多大实用价值。
      

  7.   

    大家意见都不错,不过,客户要求
    1。一定要把这4万多条数据写入excel
    2。这个一个excel还有一个模板的
    看来,只能POI了。不知道,这样行不行?
    按照yqwd911(windy)的方法生成一个csv文本文件,然后,转成excel。再用POI把excel的title
    和column的header加上?不知道可行吗?
      

  8.   

    如果有标题和header把中间的语句改一下就好了select ‘,’||‘title you need’||','from dual
    union
    select 'col1_header'||','||'col2_header'||','||'col3_header' from dual
    union
    select a.col1||','||a.col2||','||a.col3 from table a where ....我认为就不用转换成.xls了因为只要安装了excel,就是一样的,除非要给栏位加颜色
      

  9.   

    问:如果想导出为文本文件,yqwd911(windy)的方法可以么?
      

  10.   

    谢谢 yqwd911(windy)
    可是我们就是要求要加颜色,再问一下怎么由中csv文本文件转换成.xls有好主意和问题大家再讨论一下吧。马上结帖了。
      

  11.   

    结帖了。
    最终还是用POI写的,速度还可以。
    不过yqwd911(windy)方法不错,有机会试一下。