最近做项目需要通过表格上传大量数据,所以用到了csv表格上传解析,下面把代码贴一下
前端上传
Java后台
因为是数据流上传的,所以后端用MultipartFile接收即可@PostMapping("/csvBatch")
@ResponseBody
public JSONObject csvBatch(@RequestParam("file") MultipartFile multipartFile) {
CSVReader csvReader = null;
JSONObject json = new JSONObject();
try {
csvReader = new CSVReader(new InputStreamReader(new DataInputStream(multipartFile.getInputStream()), "gbk"));
csvReader.readNext();//去除表头
List arrays = new ArrayList<>();
String [] strs = csvReader.readNext();
while(null != strs) {
arrays.add(strs);
strs = csvReader.readNext();
}
Integer num=shallowCommentservice.batchComment(arrays);
if(num==1){
json.put("code",0);
json.put("msg","上传成功");
json.put("data","");
}else{
json.put("code",1);
json.put("msg","上传失败");
json.put("data","");
}
} catch (IOException e) {
log.error("csv文件解析错误:" + e);
json.put("code",1);
json.put("msg","批量增加浅评出错");
json.put("data","");
}finally {
if(null != csvReader) {
try {
csvReader.close();
} catch (IOException e) {
log.error("csv文件解析关闭错误:" + e);
}
}
}
return json;
}
这里主要采用java自带的csv解析工具将每行解析成数组,然后添加到list中,这样就可以对数据进行各种操作了。
你还没有登录,请先使用 QQ登录 或 注册!
文章评论
发表评论