2014-05-14 2 views
0

다른 소스의 연락처 csv 파일을 처리하는 데 SuperCsv를 사용하고 있습니다. CsvBeanReader를 사용하려면 열 수가 동일하고 파일에 헤더가 있습니다.SuperCsvException CellProcessorNumber 처리 Google 연락처 CSV 내보내기

소스마다 다른 열과 제목이 다른데, 헤더에 식별 된 열의 수를 기반으로 cellProcessors 배열을 동적으로 구성합니다.

SuperCsvException으로 몇 시간 동안 고민하고 있었는데, 프로세서 수와 특정 파일의 수가 일치하지 않는다고 말하면서 Google 메일 연락처 애플리케이션에서 CSV 내보내기가 발생했습니다. 헤더 행이없는 쓸데없는 쉼표는 없습니다.

나는 첫 번째 SuperCsvException을 잡아서이 시간에 여분의 셀 프로세서를 추가하여 문제를 해결했지만이 마지막 쉼표가 다른 유형의 CSV 파일에 있었는지와 superCsv가 계속 유지할 수있는 옵션이 있는지 궁금해했습니다. 이 마지막 쉼표 유연성을 허용하는 CsvBeanReader의 강력한 기능.

답변

0

문자열 값 목록을 얻으려면 CsvListReader.Read()을 사용하는 것이 좋습니다. 그런 다음리스트의 길이만큼 무엇을해야하는지 알 경우, Util.executeCellProcessors()을 사용하여 일련의 프로세서를 적용 할 수 있습니다.이 배열은 문자열 목록과 셀 프로세서를 입력으로 사용합니다.