- 依赖
implementation 'net.sourceforge.javacsv:javacsv:2.0'
<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.0</version>
</dependency>
- 读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();
}
- 写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();
}
网友评论