iview table 导出csv文件错行问题

 

最近开发过程中,前端使用的是vue+ivew,使用table 的导出,结果发现导出的文件,有的列会莫名其妙的错行,最后研究发现是,英文状态下的逗号引起的,csv文件每一列的数据都是以英文状态的逗号隔开的,如果某一列的数据中含有英文状态的逗号,csv会认为这是两条数据,

解决办法:

 //  字符串处理,防止字符串中含有英文的逗号,导致导出的csv文件错行
     handleStr(str){
       let handleStr=str.replace(/[\r\n]/g,""); 
     //先判断字符里是否含有逗号
       if(str.indexOf(",") != -1){
      //如果还有双引号,先将双引号转义,避免两边加了双引号后转义错误              
        if(str.indexOf("\"") != -1){
        handleStr=str.replace("\"", "\"\"");
        }
       //将逗号转义  
       handleStr="\""+handleStr+"\"";  
      return handleStr
    } 
      return "\""+handleStr+"\"";  
     }

推荐博客 https://www.jianshu.com/p/51432fd4dbcc

你可能感兴趣的:(前端)