首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

cvs生成,该如何解决

2012-02-19 
cvs生成第一 分割符号为逗号2, 必须考虑其中包含逗号,“等特殊字符3,必须考虑其中包含换行的因素希望大家给

cvs生成
第一 分割符号为逗号
2, 必须考虑其中包含逗号,“等特殊字符
3,必须考虑其中包含换行的因素

希望大家给一个好的cvs写入的例子
谢谢大家了

[解决办法]
对逗号用自定义的标签进行转义存储,读取SPLIT后再替换。
换行不用考虑,直接该怎样就怎样。读取时全文读入,用逗号SPLIT,换行毫无问题。
[解决办法]
你说的应该是 CSV 吧,不是 CVS 哦,呵呵。

http://sourceforge.net/projects/javacsv/
[解决办法]
cvs版本控制器
[解决办法]
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;
}

}

热点排行