当前位置:编程学习 > JAVA >>

java读取xls和csv

package com.test.csv;

import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;




public class ABCTest
{
public static void compareAndWriteCSV(HashMap xls,HashMap xml,HashMap csv){

}
    public static void main(String[] args)
    {
//        String pkgPath="D:\\temp\\package\\";
     //String xlsPath="D:\\temp\\excel\\";
     String xmlpath="D:\\temp\\package\\RBT_ORACLE_FORLINUXV100R003\\ck_RBT_WEBPORTAL_WINDOWSV100R004.xml";
        String xlsPath="D:\\temp\\excel\\RBT_WEBPORTAL_WINDOWSV100R004.xls";
        String csvpath="D:\\temp\\package\\RBT_ORACLE_FORLINUXV100R003\\LangResource.csv";
        //xml文件里各项的编号,名称,方法,标准等的key
        HashMap xml=TestReadXML.parseXml(xmlpath);
        //xls文件里各项的编号,名称,方法,标准等
        HashMap xls=TestReadXLS.getZNValue(xlsPath);
        //csv文件里的key,中文,英文
        HashMap csv=TestReadCSV.readCSV(csvpath);
        //对比并将最新的资源信息写入csv文件
        compareAndWriteCSV(xls,xml,csv);
    }
}
--------------------编程问答-------------------- package com.test.csv;



public class Item
{
    private String number;
    private String name;
    private String method;
    private String stand;
    private String suggestion;
    public Item(){
        this.number="";
        this.name="";
        this.method="";
        this.stand="";
        this.suggestion="";
    }
    public String toString(){
     return number+" | "+name+" | "+method+" | "+stand+" | "+suggestion;
    }
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getStand() {
return stand;
}
public void setStand(String stand) {
this.stand = stand;
}
public String getSuggestion() {
return suggestion;
}
public void setSuggestion(String suggestion) {
this.suggestion = suggestion;
}
    
}
--------------------编程问答-------------------- package com.test.csv;



public class KeyValue
{
    private String key;
    private String zn;
    private String en;
    public KeyValue(){
     this.key="";
     this.zn="";
     this.en="";
    
    }
    public String toString(){
     return key+" | "+zn+" | "+en;
    }
    public String getEn()
    {
        return en;
    }
    public void setEn(String en)
    {
        this.en = en;
    }
    public String getKey()
    {
        return key;
    }
    public void setKey(String key)
    {
        this.key = key;
    }
    public String getZn()
    {
        return zn;
    }
    public void setZn(String zn)
    {
        this.zn = zn;
    }
}
--------------------编程问答-------------------- package com.test.csv;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;

public class TestReadCSV {
public static HashMap readCSV(String csvpath) {
HashMap<String, KeyValue> maps = new HashMap<String, KeyValue>();
KeyValue values = new KeyValue();
try {
BufferedReader br = new BufferedReader(new FileReader(csvpath));
while (br.ready()) {
String line = br.readLine();
String key = "";
String zn = "";
String en = "";
if (line.endsWith("\"")) {
line = line.substring(0, line.length() - 1);
}
;

int oneidx = line.indexOf(",");
// 得到key
key = line.substring(0, oneidx);
// 去掉第一个,获取中文内容
String left = line.substring(oneidx + 1, line.length());
if (left.startsWith("\"")) {
left = left.substring(1, left.length());
int twoidx = left.indexOf("\",");
zn = left.substring(0, twoidx);
left = left.substring(twoidx + 2, left.length());
} else {
int twoidx = left.indexOf(",");
zn = left.substring(0, twoidx);
left = left.substring(twoidx + 1, left.length());
}
// 获取英文内容
if (left.startsWith("\"")) {
en = left.substring(1, left.length());
} else {
en = left;
}
values.setKey(key);
values.setZn(zn);
values.setEn(en);
maps.put(values.getKey(), values);
System.out.println(values.toString());
}
br.close();

} catch (FileNotFoundException e) {
// File对象的创建过程中的异常捕获
e.printStackTrace();
} catch (IOException e) {
// BufferedReader在关闭对象捕捉异常
e.printStackTrace();
}
return maps;
}

public static void writeCSV(HashMap maps, String path) {
try {
File csv = new File(path); // CSV数据文件
if (csv.exists()) {
csv.delete();
}
csv.createNewFile();
BufferedWriter bw = new BufferedWriter(new FileWriter(csv, true)); // 附加
// 添加新的数据行

for (Object info:maps.entrySet()) {
String key = ((KeyValue) info).getKey();
String zn = ((KeyValue) info).getZn();
String en = ((KeyValue) info).getEn();
String line = "\"" + key + "\"" + "," + "\"" + zn + "\"" + ","
+ "\"" + en + "\"";
bw.write(line);
bw.newLine();
}
bw.close();

} catch (FileNotFoundException e) {
// File对象的创建过程中的异常捕获
e.printStackTrace();
} catch (IOException e) {
// BufferedWriter在关闭对象捕捉异常
e.printStackTrace();
}
}

public static void main(String[] args) {
String csvpath = "D:/temp/LangResource.csv";
String  path="D:/temp/test.csv";
// csvpath="D:\\temp\\package\\RBT_ORACLE_FORLINUXV100R003\\LangResource.csv";
// writeCSV(path);
HashMap maps=readCSV(csvpath);
System.out.println("********************************");
writeCSV(maps,path);


}
}
--------------------编程问答-------------------- --------------------编程问答-------------------- 什么问题?
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,