我正在尝试使用LingToCSV读取csv文件,其中包含带逗号的十进制值,分隔符而不是点。

这是一行输入:

"DataField1","DataField2"
"Test", "0,34"


我使用此类来阅读它:

public class Record
{
   [CsvColumn(Name = "DataField1", FieldIndex=  1)]
   string DataField1 {get;set;}

   [CsvColumn(Name = "DataField2", FieldIndex=  2, OutputFormat="C", NumberStyle=NumberStyles.Currency)]
   decimal DataField2 {get;set;}
}


但是,这不起作用并生成以下异常:


  第9行中的{“ Value \” DataField2 \“的字段格式错误或
  类型\“ Record \”中的属性\“ DataFoe; d2 \”。“}


显然,这是期望值,但是我如何使用逗号使它起作用。

最佳答案

相信您需要在CsvFileDescription中设置FileCultureName ...

CsvFileDescription fileDesc = new CsvFileDescription
        {

            FirstLineHasColumnNames = true
            FileCultureName = "nl"
        };

08-16 00:08