У меня есть этот образец CSV файл:
Filip Malýn Male 1218-02-1994
Božena Němcová Female1804-02-1820
Jan Žižka Male 0719-09-1360
Che Guevara Male 2714-06-1928
AntoinedeSaint-ExupéryMale 1529-06-1900
Я загружаю его в код этой функцией:
FileHelperEngine<T>().ReadFile(fileName);
Но это заканчивается этой ошибкой:
FileHelpers.BadUsageException: 'The string '18-02-1994' (length 10) at line 1 has less chars than the defined for BirthDate (11). You can use the [FixedLengthRecord(FixedMode.AllowLessChars)] to avoid this problem.'
И если я добавлю [FixedLengthRecord(FixedMode.AllowLessChars)]
к коду, это закончится этой ошибкой:
FileHelpers.ConvertException: 'Error Converting 'al' to type: 'Int32'. '
Я использую этот класс:
using System;
using FileHelpers;
namespace ImportExport.Mapping.FixedLength
{
[FixedLengthRecord(FixedMode.AllowLessChars)]
public class Person
{
[FieldFixedLength(9)]
public String Name;
[FieldFixedLength(13)]
public String Surname;
[FieldFixedLength(6)]
public String Gender;
[FieldFixedLength(2)]
public Int32 OrderNum;
[FieldFixedLength(11)]
[FieldConverter(ConverterKind.Date, "dd-MM-yyyy")]
public DateTime BirthDate;
}
}
Я так много раз писал и пробовал много версий, но безуспешно. Что не так?