美文网首页
Spring Boot 读写csv文件

Spring Boot 读写csv文件

作者: 一杉风雨 | 来源:发表于2018-11-22 18:27 被阅读0次
  1. 依赖
implementation 'net.sourceforge.javacsv:javacsv:2.0'
<dependency>
    <groupId>net.sourceforge.javacsv</groupId>
    <artifactId>javacsv</artifactId>
    <version>2.0</version>
</dependency>
  1. 读csv
String filePath = "xxx.csv";
try {
    CsvReader csvReader = new CsvReader(filePath);

    // 读表头
    csvReader.readHeaders();

    // 读内容
    while (csvReader.readRecord()) {
        // 读一整行
        System.out.println(csvReader.getRawRecord());
        // 读该行的某一列
        System.out.println(csvReader.get("Link"));
    }
} catch (IOException e) {
    e.printStackTrace();
}
  1. 写csv, 并下载
try {
    File file = File.createTempFile("xxx", ".csv");
    CsvWriter csvWriter = new CsvWriter(file.getCanonicalPath(), ',', Charset.forName("UTF-8"));
    csvWriter.writeRecord(new String[] ("title1", "title2");
    csvWriter.writeRecord(new String[] ("value1", "value2");
    csvWriter.close();

    response.setContentType("application/csv; charset=utf-8");
    response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
    InputStream in = new FileInputStream(file);
    OutputStream out = response.getOutputStream();
    int len;
    byte[] buffer = new byte[1024];
    while ((len = in.read(buffer)) > 0) {
        out.write(buffer, 0, len);
    }
} catch (IOException e) {
    e.printStackTrace();
}

相关文章

网友评论

      本文标题:Spring Boot 读写csv文件

      本文链接:https://www.haomeiwen.com/subject/bbcrqqtx.html