java 开发----如何把一个SQl result 结果集 输出成.csv 文件?? 我现在有一个结果集,想要保存为Csv文件。求方法以及代码? 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 找个CSV的jar来,就是自己写,也没有什么难的吧? 推荐一个很不错的taglib,里面就带有输出 csv excel xml pdf 这些功能~详细教程可以看:http://www.javaeye.com/topic/24869 我用jsp,别推荐了,你会的话就给些代码 1:用jdbc连接数据库,然后用结果集中如果是string类型的getString("字段名"),如果是int的就用getInt("字段名"),一个一个的取出来。用,分割每一字段的值,一行结束加上"\n"。这样写入一个以csv为扩展名的文件即可完成。2:如果想要全表的话,你可以把一个表直接以csv的格式复制到本地。 jsp~ 那看看这个 http://opencsv.sourceforge.net/ 把~找到 Can I dump out SQL tables to CSV? 那行~ 一句搞定~ 哈哈!记得Csv文件是拿逗号分割的。 你就当输出文本一样对待,中间用,分开,然后写入文件就可以了。至于怎样用java写入文件应该很多的吧。 楼主估计正在写存储过程吧,把你的结果loop循环拿出来保存进去,不知道你的文件是定长还是不定长 http://topic.csdn.net/u/20090320/15/92fba6a5-92bd-4071-8474-019d038e91f9.html 谢谢大家。java 写文件的方法,谁能给我一些参考代码。 ireport倒是可以不知道满足不满足LZ的要求啊或者别人有更好的办法 首先要了解csv的格式,然后把你的结果集中的数据按照这个格式生成文件即可。当然现有组件也可以实现你的需求。poi、jfreechart CSV就是一个简单的文本文件,只要用分割符号将内容分开,另外扩展名保存为.csv即可。 CSV 直接写好了,比较简单的。 你照这个写个main方法吧,logFile下看产生CSV文件没有,导出的文件内容有很多符号会影响到CSV文件的格式,视具体处理 EX: File file = new File(logFile); //logFile 是路径,就叫做String logFile = 生成路径+想要的文件名+".csv"; FileOutputStream out = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(out, "GB2312"); BufferedWriter bw = new BufferedWriter(osw); //然后就随便你自己去构造了,我写个第一行表示表头,然后第二行起循环 bw.write("a1" + "," + "a2" + "," + "a3" + "\r\n");//请注意,CSV默认是已逗号","分隔单元格的。这里是表头 List list = service.getYouDb;//取出的数据 for(int i = 0;i <list.size();i++) { Object objs = (Object) list.get(i);//hibernate mmessage1 = objs.get...... mmessage2 = objs.get...... mmessage3 = objs.get...... bw.write(mmessage1 + "," + message2 + "," + message3+ "\r\n"); } bw.close(); osw.close(); out.close(); CSV 确实比较好,简单,且能满足大数据量的导出,而不导致内存溢出。 这点确实比POI好很多 LoanApplet类在引用其他包中的Loan类来创建Loan类对象时出错 在JPanel上画图显示不出来 求教!!! 想让窗口被关闭时弹出确认对话框,应该怎样操作? 大虾们,帮忙 线程问题,时间的处理。 求java的考试练习题.. 关于调用方法的简单问题 有谁知道这个正则表达式这个特殊替换的?? swing 窗口最小化后布局改变 高分通过 SCJP 的看这里:300分相送(先给100不够再加) 请问怎么样才可以更改一个java程序的主窗口图标呢?就是那个咖啡杯? BigDecimal取消科学记数法问题? jxl处理excel的问题 !
详细教程可以看:http://www.javaeye.com/topic/24869
我用jsp,别推荐了,你会的话就给些代码
getInt("字段名"),一个一个的取出来。用,分割每一字段的值,一行结束加上"\n"。这样写入一个以csv为
扩展名的文件即可完成。
2:如果想要全表的话,你可以把一个表直接以csv的格式复制到本地。
jsp~ 那看看这个 http://opencsv.sourceforge.net/ 把~
找到 Can I dump out SQL tables to CSV? 那行~ 一句搞定~
记得Csv文件是拿逗号分割的。
不知道满足不满足LZ的要求啊或者别人有更好的办法
当然现有组件也可以实现你的需求。poi、jfreechart
EX:
File file = new File(logFile); //logFile 是路径,就叫做String logFile = 生成路径+想要的文件名+".csv";
FileOutputStream out = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(out, "GB2312"); BufferedWriter bw = new BufferedWriter(osw);
//然后就随便你自己去构造了,我写个第一行表示表头,然后第二行起循环 bw.write("a1" + "," + "a2" + "," + "a3" + "\r\n");//请注意,CSV默认是已逗号","分隔单元格的。这里是表头 List list = service.getYouDb;//取出的数据 for(int i = 0;i <list.size();i++) {
Object objs = (Object) list.get(i);//hibernate
mmessage1 = objs.get......
mmessage2 = objs.get......
mmessage3 = objs.get......
bw.write(mmessage1 + "," + message2 + "," + message3+ "\r\n");
}
bw.close();
osw.close();
out.close();