我在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中删除该行,它就会完全按预期工作,并且没有任何警告。任何帮助将不胜感激!
答案 0 :(得分:2)
您的数据(17
)中的字段数量与表格中的列数(18
或更多)不匹配。
请阅读this technical note了解详情。
列数错误的This example会产生相同的错误,并且列数匹配的this example不会产生错误。