美文网首页
java生成csv文件时,某数据含有逗号,双引号的分割问题

java生成csv文件时,某数据含有逗号,双引号的分割问题

作者: 小小白园 | 来源:发表于2017-10-10 17:07 被阅读0次

    mysql数据库有一字段里的数据含有 "和,,见下图:


    image.png

    在生成csv文件时,会被分割为:

    image.png

    导致数据错位。

    解决思想:
    某字符含有逗号时,将该字符用双引号引起来,那么字符里的逗号将不会被解析;
    含有双引号时,可替换为两个双引号。

    部分代码如下:

    String handleStr=str;
    //先判断字符里是否含有逗号
    if(str.contains(",")){
        //如果还有双引号,先将双引号转义,避免两边加了双引号后转义错误              
        if(str.contains("\"")){
            handleStr=str.replace("\"", "\"\"");
        }
        //将逗号转义  
        handleStr="\""+handleStr+"\"";  
    }
    

    此时,导出为csv文件不会出现错位问题。如下:

    image.png

    在读取一行中的各个数据时,每读取一个需加逗号。

     String rowStr = sb.append(handleStr).append(",").toString();
    

    基本解决了我遇到的问题。

    相关文章

      网友评论

          本文标题:java生成csv文件时,某数据含有逗号,双引号的分割问题

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