单元格包含逗号

时间:2017-05-16 11:20:13

标签: javascript csv datatables comma

我在Web应用程序上有一项功能,允许用户将csv上传到服务器。在选择要上传的csv文件后,我使用javascript打开文件,然后通过数据表创建一个表,以便用户可以预览/确认他们想要上传的内容。

在绘制表格之前,我使用this函数将csv文件转换为多维数组,然后将其用作数据集。

我的问题是,当其中一个csv值包含逗号时,我会收到一个数据表警告说:

  

DataTables警告:table id = csv-data-display-table - 请求   第6行的未知参数'17'。有关此内容的更多信息   错误,请参阅http://datatables.net/tn/4 - 错误对象:未定义

以下是导致此问题的一些示例数据:

test1,companynamewith'test01,,,,,,,,,,,,,,,,
test2,"companynamewith,test02",,,,,,,,,,,,,,,,
test3,companynamewith/test03,,,,,,,,,,,,,,,,

请注意,中间行在第二列中有一个逗号,但它也用引号括起来。

在遇到构建数组的函数之后,这是问题记录:

["test2", "companynamewith,test02", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]

我原本以为Datatables足够聪明,可以解析像这样的数组,而不会挂在逗号上,因为它在引号内但可能没有。一旦我从csv中删除该行,它就会完全按预期工作,并且没有任何警告。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

您的数据(17)中的字段数量与表格中的列数(18或更多)不匹配。

请阅读this technical note了解详情。

列数错误的

This example会产生相同的错误,并且列数匹配的this example不会产生错误。