小东Freeman + 关注

签名:我们爱我们的倒霉工作,也爱这千疮百孔的世界。

Java实现csv表格数据上传到数据库

发表于 1个月前   162次查看    1评论  4 赞

最近做项目需要通过表格上传大量数据,所以用到了csv表格上传解析,下面把代码贴一下


前端上传

采用自带的input文件上传即可,如果有别的需求可以参考:http://www.funyan.cn/p/299.html


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<String[]> 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中,这样就可以对数据进行各种操作了。

4人已赞


本文由Fun言网 – 小东Freeman创作,转载请务必附上本文链接和出处,欢迎参与我们的付费投稿计划


你还没有登录,请先 登录注册!
文章评论1