首页 > 其他分享 >【上传csv格式的excel】

【上传csv格式的excel】

时间:2022-10-17 12:07:52浏览次数:34  
标签:文件 return excel file new csv 上传


一、背景介绍

最近需要做一个导入,格式为.csv格式的,因为是系统间相互通信,所以限定导入格式为.csv,本篇文章做一个记录。

二、过程

因为功能开发比较着急,所以是以效率为前提:
主要代码如下:

/**
* <b>将csv文件通过IO流解析,转化数组形式的集合<b>
*
* @param file 文件
*/
public static List<String[]> csv(MultipartFile file) {
List<String[]> csvList = new ArrayList<String[]>();
try {
InputStreamReader is = new InputStreamReader(file.getInputStream(), "UTF-8");
CSVParser csvParser = new CSVParserBuilder().build();
CSVReader reader = new CSVReaderBuilder(is).withCSVParser(csvParser).build();
reader.skip(1);
csvList = reader.readAll();
} catch (IOException e) {
e.printStackTrace();
}
return csvList;
}

调用

<String[]> list = CsvUtil.csv(file);

接收转换

for (String[] product : list) {
//转换最终的model
}

后面为了便于查找问题,所以将用户上传的文件保存在aliyun oss 上面

/**
* 上传文件流
*
* @param inputStream
* @return
*/
public String uploadOssResource(String path, InputStream inputStream) {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(ENDPOINT, aliKey, aliSecret);
// 上传文件流。
ossClient.putObject(BUCKET, path, inputStream);
// 关闭OSSClient。
ossClient.shutdown();
return CDN_HOST + path;
}

忘记了pom 文件引入:

<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>4.4</version>
</dependency>

三、总结

主要记录一下,感谢大家阅读。


标签:文件,return,excel,file,new,csv,上传
From: https://blog.51cto.com/u_15586641/5762048

相关文章