이 간단한 파일이 있습니다.FileHelpers DelimiterFieldBuilder 문제
first name 1,last name 1
first name 2
first name 3,last name 3
first name 4,last name 4
사례 1 :
ExcelStorage provider = new ExcelStorage(typeof(Person)); provider.FileName = "data.csv"; Person[] res = provider.ExtractRecords() as Person[];
내가 제대로의 데이터를 얻을 수
[DelimitedRecord(",")]
public partial class Person
{
private string firstName;
[FieldNullValue("default last name")]
private string lastName;
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
}
이 코드 :이 클래스를 사용하여 파일에서 데이터를 읽을 배열의 두 번째 요소에는 성 = 기본 성이 있습니다.
사례 2 : 나는 동적으로 구축 유형을 사용하여 데이터를 읽어
DelimitedClassBuilder cb = new DelimitedClassBuilder("Person2", ","); cb.AddField("firstName", typeof(string)); cb.AddField("lastName", typeof(string)); cb.LastField.FieldNullValue = "default last name"; DelimitedFileEngine engine = new DelimitedFileEngine(cb.CreateRecordClass()); DataTable dt = engine.ReadFileAsDT("data.csv");
나는 다음과 같은 예외가 얻을 : 구분 기호를 추가 Line: 2 Column: 0. Delimiter ',' not found after field 'firstName' (the record has less fields, the delimiter is wrong or the next field must be marked as optional).
이의이 같은 파일을 변경하자를 두 번째 줄에
first name 1,last name 1
first name 2,
first name 3,last name 3
first name 4,last name 4
,210
- 사례 1 : 정적 입력 된 클래스를 사용하여 읽기 : 나는 같은 결과를 얻을 : 읽기 동적으로 생성 된 객체 사용 : 을 그렇지 브레이크 더 이상하지만 거기 않는 기본 사례 2는
- 성이 기본값 없음, 그냥 ""있습니다.