cvs生成

yudi010 2011-04-04 02:36:38
第一 分割符号为逗号
2, 必须考虑其中包含逗号,“等特殊字符
3,必须考虑其中包含换行的因素

希望大家给一个好的cvs写入的例子
谢谢大家了
...全文
163 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yudi010 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bao110908 的回复:]

你说的应该是 CSV 吧,不是 CVS 哦,呵呵。

http://sourceforge.net/projects/javacsv/
[/Quote]
呵呵 是高错了
两者的概念完全不同
yinfeimb 2011-04-07
  • 打赏
  • 举报
回复
用"包围,遇到"转变成两个,当然读的时候也得注意了

"1","2",",",""""
animshuod521 2011-04-06
  • 打赏
  • 举报
回复
package com.qam.project.bjds.pda.export;



import java.io.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Properties;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


import au.com.bytecode.opencsv.CSVWriter;

import com.qam.framework.QamFrameworkException;

import com.qam.framework.context.ApplicationConfig;
import com.qam.framework.extension.component.impl.AbstractComponent;
import com.qam.framework.util.CommonUtils;
import com.qam.project.bjds.gongyong.ShuXingCX;



public class ExportPDA extends AbstractComponent {
/**
*
*/
private static final long serialVersionUID = 1L;
private static final Log log = LogFactory.getLog(ExportPDA.class);

private static String str_PROPERTIESPATH=""; //读取属性文件的路径

private static final String PROPERTIES_NAME="ggcw.properties"; //属性文件的名称


public void exportPDA(List values) throws Exception {
this.values = values;
String jigoubh="";
String xiangmufl="";
String pandianzt="";
String niandu="";
Object obj;
this.values=values;
obj=this.getValue("JiGouBH");
if(obj!=null)
{
jigoubh=obj.toString();
}
//取机构编号
obj=this.getValue("FenLeiBH");
if(obj!=null)
{
xiangmufl=obj.toString();
}
//取分类编号

obj=this.getValue("PanDianZT");
if(obj!=null)
{
pandianzt=obj.toString();
}
//盘点状态
obj=this.getValue("NianDu");
if(obj!=null)
{
niandu=obj.toString();
}
//年度
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式
String sql="SELECT DISTINCT "+
" zc.yewubm as zc_yewubm, "+
" zc.mingcheng as zc_mingcheng, "+
" jg.mingcheng as shiyoubm , " +
" zc.suoshuzcfl as flbh, " +
" zc.suoshurkqd as rkq, " +
" to_char(zc.gouzhirq, 'yyyy-mm-dd ') as zc_gouzhirq, "+
" cfdd.mingcheng as cfdd_mingcheng "+
" FROM zc_zichanbt zc, "+
" zc_cundangdd cfdd, "+
" zc_zichanfl zcfl, "+
" jc_jigou jg "+
" WHERE 1 = 1 "+
" AND zc.cunfangdd = cfdd.bianhao(+) "+
" AND zc.suoshuzcfl = zcfl.bianhao "+
" and jg.bianhao=zc.shiyongbm ";
if(jigoubh!=null && jigoubh.length()>0)
{
sql+=" AND zc.shiyongbm IN ('"+jigoubh+"') ";
}
if(xiangmufl!=null && xiangmufl.length()>0)
{
sql+= " and zc.suoshuzcfl='"+xiangmufl+"' ";
}
if(pandianzt!=null && pandianzt.length()>0)
{
sql+= " and zc.pandianzt='"+pandianzt+"' ";
}
sql+= " AND (zc.zhuangtai LIKE '0%' OR zc.zhuangtai LIKE '1%') and zc.shifoucfzc='0' ";
sql+="union ";
String cfsql=" SELECT DISTINCT "+
" zccf.yewubm as zc_yewubm, "+
" zccf.mingcheng as zc_mingcheng , "+
" jg.mingcheng as shiyoubm, "+
" zc.suoshuzcfl as flbh, " +
" zc.suoshurkqd as rkq, " +
" to_char(zc.gouzhirq, 'yyyy-mm-dd ') as zc_gouzhirq, "+
" cfdd.mingcheng as cfdd_mingcheng "+
" FROM zc_zichanbt zc, "+
" zc_cundangdd cfdd, "+
" zc_zichanfl zcfl, "+
" jc_jigou jg, "+
" zc_chaifenmx zccf "+
" WHERE 1 = 1 "+
" AND zc.cunfangdd = cfdd.bianhao(+) "+
" AND zccf.zichanfl = zcfl.bianhao "+
" and jg.bianhao = zc.shiyongbm "+
" and zccf.suoshuzcbh(+)=zc.bianhao ";
if(jigoubh!=null && jigoubh.length()>0)
{
cfsql+=" AND zc.shiyongbm IN ('"+jigoubh+"') ";
}
if(xiangmufl!=null && xiangmufl.length()>0)
{
cfsql+= " and zccf.zichanfl='"+xiangmufl+"' ";
}
if(pandianzt!=null && pandianzt.length()>0)
{
cfsql+= " and zc.pandianzt='"+pandianzt+"' ";
}
cfsql+= " AND (zc.zhuangtai LIKE '0%' OR zc.zhuangtai LIKE '1%') "+
" and zc.shifoucfzc='1' "+
" and zccf.shifouzf='0' "+
" ORDER BY 3" ;
sql+=cfsql;
log.debug("处置资产导出查询sql:"+sql);

//ResultSet rs = this.getDataBaseAccess().executeQuery(sql);

String urlString=this.getPropertiesValue("chuzhiPath");

this.getCsvFile(sql,new File(urlString+"/zc_tiaoma"+df.format(new Date())+".csv")); //
}



public CSVWriter getCsvFile(final String sql,final File tempFile) throws SQLException, IOException, QamFrameworkException {
ShuXingCX cx=new ShuXingCX();
CSVWriter writer=new CSVWriter(new FileWriter(tempFile));
ResultSet rs = this.getDataBaseAccess().executeQuery(sql);
String [] s=new String[] {"ZICHANBM","ZICHANMC","SHIYONGBM","PINPAI","GUIGEXH","GOUZHIRQ","CUNFANGDD","SAOMIAOBZ"};
writer.writeNext(s);
String[] list=new String[8];
while(rs.next())
{
list[0]=rs.getString("zc_yewubm");
list[1]=rs.getString("zc_mingcheng");
list[2]=rs.getString("shiyoubm");
list[3]=cx.chaxun(rs.getString("rkq"), rs.getString("flbh"), "品牌");
list[4]=cx.chaxun(rs.getString("rkq"), rs.getString("flbh"), "规格型号");
list[5]=rs.getString("zc_gouzhirq");
list[6]=rs.getString("cfdd_mingcheng");
list[7]="0";
writer.writeNext(list);
}
rs.close();
writer.close();
return writer;

}
public String getPropertiesValue(String key) {
InputStream is=null;
String Str_RetrunValue="";
str_PROPERTIESPATH=ApplicationConfig.getInstance().REAL_PATH+ "\\"+PROPERTIES_NAME;
try{
is = new BufferedInputStream(new FileInputStream(str_PROPERTIESPATH));
Properties po = new Properties();
po.load(is);
Str_RetrunValue=CommonUtils.null2Blank(po.getProperty(key));
if(is!=null){
is.close();
}
return Str_RetrunValue;
}catch(Exception ex){
ex.printStackTrace();
log.debug("属性文件读取异常,请核实!");
}
return null;
}

}
zhangsf1982 2011-04-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bao110908 的回复:]
你说的应该是 CSV 吧,不是 CVS 哦,呵呵。

http://sourceforge.net/projects/javacsv/
[/Quote]

哈哈 标题错了
hepeng_8 2011-04-05
  • 打赏
  • 举报
回复
cvs版本控制器
  • 打赏
  • 举报
回复
你说的应该是 CSV 吧,不是 CVS 哦,呵呵。

http://sourceforge.net/projects/javacsv/
  • 打赏
  • 举报
回复
对逗号用自定义的标签进行转义存储,读取SPLIT后再替换。
换行不用考虑,直接该怎样就怎样。读取时全文读入,用逗号SPLIT,换行毫无问题。

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧