Java编辑CSV文件特定单元格。阅读和更新

时间:2015-05-11 17:53:46

标签: java csv edit

有没有人知道如何读取和更新csv文件中的特定单元格。有插件还是什么?

对于像

这样的例子代码
csv.updateCell(row,col,;val');

csv.readCell(row,col);

它必须是一个可以在所有操作系统(windows,osx,linux等)上使用的jar库

有谁知道应该使用哪个库以及如何实现这个?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用MS Excel的JDBC驱动程序,因为Excel能够处理CSV文件。

以下是一些:

sqlsheetExcel JDBC driver

答案 1 :(得分:0)

为此,您可以使用opencsv库。

此库允许您轻松读取更新csv文件。如果您遇到一些问题,请尝试使用此库,使用某些代码片段更新您的问题。

更新1

public class OpenCsv {

private static final char SEPARATOR = ';';
//private static final char CHAR_SEPARATOR = '';

public void updateCsvFile(String source, String destination) throws Exception{

    CSVReader reader = new CSVReader(new FileReader(source),SEPARATOR);
    List<String[]> csvBody = reader.readAll();
    csvBody.get(1)[2]="NewValue";

    CSVWriter writer = new CSVWriter(new FileWriter(destination),SEPARATOR,' ');
    writer.writeAll(csvBody);
    writer.flush();
}

public static void main(String[] args) {

    //input file lookslike at the following
    //1;2;3
    //4;5;6
    //7;8;9

    String source = "input.csv";
    String destiantion="output.csv";
    OpenCsv opencsv = new OpenCsv();
    try {
        opencsv.updateCsvFile(source, destiantion);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


}

}