日期:2014-05-20  浏览次数:20731 次

一个使用java代码导入导出csv文件的问题
想要做一个个人通讯录导入导出功能,使用csv文件,数据库是oracle10g;csv文件中的列和数据库中的列不完全一致,需要将数个csv文件中的列合并再保存到数据库中
具体如下
Java code

 private final static String[] csvDef = {
        "姓名",
        "电子邮件地址",
        "住宅所在街道",
        "住宅所在城市",
        "住宅所在地的邮政编码",
        "住宅所在省/自治区",
        "住宅所在国家/地区",
        "住宅电话",
        "公司所在街道",
        "公司所在城市",
        "公司所在地的邮政编码",
        "公司所在省/自治区",
        "公司所在国家/地区",
        "业务电话",
        "公司",
        "职务"};
    private final static String[] dbFields = {
        "F_NAME",
        "F_EMAIL",
        "F_HOMEADDR",
        "F_HOMECODE",
        "F_HOMEPHONE",
        "F_OFFICEADDR",
        "F_OFFICECODE",
           "F_OFFICEPHONE",
        "F_COMPANY",
        "F_ZHIWU"};



比如数据库表中F_HOMEADDR内容就是csv中"住宅所在街道","住宅所在城市","住宅所在省/自治区","住宅所在国家/地区"四列内容合并而成;
导出时只需将F_HOMEADDR内容写到csv中"住宅所在街道"列即可
该如何做

------解决方案--------------------
Kettle
简单,呵呵
刚刚看的教程
------解决方案--------------------
数据库里有导入的工具
------解决方案--------------------
顶一下,以表支持
------解决方案--------------------
Apache有个开源工具包,POI,看下好了
------解决方案--------------------
帮顶,应该不难
------解决方案--------------------
Java code
// 如果是字符串
public String convertNullToBlank(String target) {
    if (target == null || target.length == 0) {
         return " ";
    }
    return target;
}
// 如果是数字
public String convertNullToZero(String target) {
    if (target == null || target.length == 0) {
         return "0";
    }
    return target;
}