2011-04-07 3 views
0

MYOB로 가져 오기를 시도하는 CSV (.txt) 파일로 인해 어떤 일이 벌어 지는지 약간 당황합니다. 보기 및보기 보너스 모듈과 함께 Drupal CMS를 사용하여 필요한 필드를 가져 와서 csv (탭으로 구분 된) txt 파일에 드롭하는 피드를 함께 빠르게 얻을 수 있습니다.CSV 파일 가져 오기 Strangeness : Excel에서 다시 저장 한 경우에만 가져 오기

이상한 문제가 발생하는 곳입니다. MYOB 프로그램으로 파일을 직접 가져 오려고하면 필드가 myob 파일의 데이터와 일치하지 않으므로 레코드를 건너 뛰기 만하면됩니다 (구매시 세금 코드 필드). 그러나 Excel에서 txt 필드를 열고 파일을 다시 저장하면 (아무 내용도 변경하지 않고) Myob에서 가져 오기를 수행하면 모든 것이 100 % 작동합니다.

나는 Content-Type 및 Content-disposition 헤더를 검사하기 위해 소스 코드를 살펴 봤지만 괜찮습니다.

header ('Content-type : text/csv; charset = utf-8'); header ('Content-disposition : attachment; filename = "[thefilename] .txt"');

공백과 줄 바꿈 등이 필드에서 제거되었는지 확인했습니다.

여기에 무엇이 잘못 될지 생각하는 사람이 있습니까? 무엇을 확인해야합니까? 해결 방법은 작동하지만 추가 "불필요한"프로세스가 도입됩니다.

많은 분들께 미리 감사드립니다.

마이클.

답변

0

드루팔 (Drupal은 유닉스 스타일의 라인 엔딩 (http://en.wikipedia.org/wiki/Newline)을 사용하고 Excel에서 열어 저장하면 MYOB가 사용하는 윈도우 스타일의 라인 엔딩으로 바뀌 었음).

1

CSV-1203 File Format Specification을 참조하십시오. 자세한 내용은 을 참조하십시오. "Excel 사용시 알려진 문제"Excel에서 데이터가 사용자에게 알리지 않고 데이터를 손상시킬 수있는 방법을 설명합니다.

귀하의 고통과 관련이 없을 수도 있지만, 어쨌든이 링크가 도움이되기를 바랍니다.