Странность импорта CSV-файлов: импортируется только при сохранении в Excel - PullRequest
0 голосов
/ 07 апреля 2011

Я немного ошеломлен тем, что происходит с файлом CSV (.txt), который я пытаюсь импортировать в MYOB. Используя Drupal CMS, с бонусными модулями views и views, я могу быстро собрать фид, который соберет необходимые поля и поместит их в текстовый файл csv (с разделителями табуляции).

Здесь происходят странные проблемы. Если я пытаюсь импортировать файл непосредственно в программу MYOB, записи просто пропускаются, потому что, очевидно, поле не соответствует данным в файле myob ('налоговый код при покупке поля). Тем не менее, если я открою поле txt в Excel, затем сохраню файл (без изменения содержимого и ничего), а затем выполню импорт в Myob, все будет работать на 100%.

Я просмотрел исходный код, чтобы проверить заголовки Content-Type и Content-disposition, но с ними все в порядке.

header ('Content-type: text / csv; charset = utf-8'); заголовок ('Content-disposition: attachment; filename = "[thefilename] .txt"');

Я проверил, чтобы с поля были удалены пробелы, разрывы строк и т. Д.

Кто-нибудь имеет представление о том, что здесь может пойти не так? Что я должен проверить? Обходной путь работает, но просто вводит дополнительный «ненужный» процесс.

Большое спасибо заранее.

Майкл.

Ответы [ 2 ]

1 голос
/ 02 сентября 2012

Пожалуйста, обратитесь к Спецификация формата файла CSV-1203 .В частности, см. Приложение A" Известные проблемы при использовании Excel ", в котором объясняется, как Excel может повредить данные, не сообщая вам.

Это может не относиться к тому, чтострадает, но я надеюсь, что эта ссылка все равно поможет.

0 голосов
/ 17 мая 2011

Я бы предположил, что Drupal использует окончания строк в стиле Unix (http://en.wikipedia.org/wiki/Newline),), и что открытие и сохранение в Excel изменяет их на окончания строк в стиле Windows, что и используется MYOB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...