我们的客户开始报告从 CSV 文件导入数据时出现的错误。看到 csv 文件后,我们决定从自定义 CSV 解析器切换到 CSVHelper,但 CSV Helper 无法读取一些有效的 CSV 文件。
\n\n用户可以将任何 csv 文件加载到我们的应用程序中,因此我们不能使用任何类映射器。我们使用 csv.Parser.Read 来读取 string[] dataRows。我们无法更改此 csv 文件的生成方式,它是由另一家公司生成的,当此文件采用有效格式时,我们无法说服他们更改生成方式。
\n\n如果我们使用 BadDataFound 处理程序,则 context.RawRecord 为:
\n\n"1000084;SMRSTOVACI TRUBICE PBF 12,7/6,4 (1/2\\") H;"\nRun Code Online (Sandbox Code Playgroud)\n\ncsv 文件中的数据行是:
\n\n1000084;SMRSTOVACI TRUBICE PBF 12,7/6,4 (1/2") H;;;ks;21,59;26,46;21.00;;;8591735015183;8591735015183;Technik;Kabelov\xc3\xbd spojovac\xc3\xad materi\xc3\xa1l;Ozna\xc4\x8dov\xc3\xa1n\xc3\xad, smr\xc5\xa1\xc5\xa5ov\xc3\xa1n\xc3\xad, izolace;Bu\xc5\xbe\xc3\xadrky, smr\xc5\xa1\xc5\xa5ova\xc4\x8dky;\nRun Code Online (Sandbox Code Playgroud)\n\n这应该是 RFC 4180 规定的有效 csv 文件。
\n\n代码是:
\n\nusing (var reader = new StreamReader(filePath, Encoding.Default))\n{\n using (var csv = new CsvReader(reader))\n {\n csv.Read();\n csv.ReadHeader();\n\n List<string> badRecord = …Run Code Online (Sandbox Code Playgroud) 我有一个自定义排序的datagrid源CollectionViewSource,我需要获得排序的项目集合,这在datagrid中可以看到。我可以获得排序的描述和排序的源集合,但是我需要很多时间。
有什么方法可以获取启用索引的排序集合(item[index])?