【问题标题】:How to deal with Commas in CSV using Javascript如何使用 Javascript 处理 CSV 中的逗号
【发布时间】:2017-10-22 00:51:06
【问题描述】:

如果数据中包含“,”,我有一些数据在导出到 csv 时面临问题。

代码如下:

  CSVData.push('"' + item.OrgId+ '","' + item.Name + '","' + item.OrgDescriptionString + '","' + itam.OrgDetailsString + '","' + item.Active+ '"');

如果 orgDetaisl 字符串中包含“,”,则数据将重叠并移至下一列。

如何转义 "," 。我尝试使用双引号 """ 但不知道如何实现。

CSVData.push('"' + item.OrgId+ '","' + item.Name + '","\""' + item.OrgDescriptionString + '"\"","\""' + item.OrgDetailsString + ' \"","' + item.Active+ '"');

请更正字符串并帮助我在数据中转义“,”。

【问题讨论】:

  • 创建 CSV 时使用不同的列分隔符
  • @Gerard!那么它就不是 CSV

标签: javascript jquery csv asp.net-mvc-4 export-to-csv


【解决方案1】:

可能的解决方案之一是读取文件,然后将读取的数据替换为“”

类似这样的:

readData = readData.replace(/,/g, "");

【讨论】:

    【解决方案2】:

    在字段内转义分隔符的正确方法是用双引号将字段括起来:

    Id,Description
    123,"Monitor, Samsung"
    

    但是字段内的引号必须用另一个引号转义:

    Id,Description
    123,"Monitor 24"", Samsung"
    

    当然,可以使用不同的分隔符,如 ;,但您仍然需要检查这些分隔符是否出现在数据中。

    【讨论】:

    • 您的建议无效。请为它提供提琴手
    【解决方案3】:

    我尝试使用下面的代码,它对我有用

    item.OrgDescriptionString.replace(/\"/g, "\"\"");
    

    我试图转义字符串中的单引号,它成功了。

    【讨论】:

      【解决方案4】:

      这就是我实现报告功能的方式。

      简而言之:要求是在 CSV 导出中获取逗号分隔的字符串。

      假设我们有一个逗号分隔的字符串,需要按原样导出到 CSV 中。

      例如来自数据源的字符串值:

      'StackOverflow','太棒了! StackOverflow 团队的工作,为他们喝彩。'

      解决方案:

      ['stackoverflow', 'Awesome! work by stackoverflow team, cheers to them.'].map(string => string === null ? '' : `\"${string}\"`);
      

      解释:因此,如果我们引用逗号分隔的值并尝试导出,那么 CSV 将不会将逗号 (,) 视为字段分隔符,因此在 CSV 导出中它不会根据可用逗号的数量分成多列。并且内容会出现在同一列中。

      参考维基链接:Comma-separated_values

      希望这会有所帮助。干杯!!

      【讨论】:

        【解决方案5】:

        使用双引号括起来的字符串并在字符串中转义双引号:

        csvData.push( "\\"" + strData.replace( /\\"/g , "\\"\\"" ) + "\\"" )
        

        【讨论】:

          猜你喜欢
          • 2011-09-26
          • 1970-01-01
          • 2013-06-18
          • 2013-04-05
          • 1970-01-01
          • 2022-06-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多