#php #drupal #csv #import
#php #drupal #csv #импорт
Вопрос:
Я немного поражен тем, что происходит с файлом csv (.txt), который я пытаюсь импортировать в MYOB. Используя Drupal CMS с модулями views и views bonus, я могу быстро создать ленту, которая получит необходимые поля и поместит их в текстовый файл csv (с разделителями табуляции). текстовый файл.
Вот где возникают странные проблемы. Если я пытаюсь импортировать файл непосредственно в программу MYOB, записи просто пропускаются, потому что, по-видимому, поле не соответствует данным в файле myob (поле ‘налоговый код при покупке). Однако, если я открою поле txt в Excel, затем повторно сохраню файл (без изменения какого-либо содержимого, ничего), а затем выполню импорт в Myob, все работает на 100%.
Я просмотрел исходный код, чтобы проверить заголовки Content-Type и Content-disposition, но с ними все в порядке.
заголовок(‘Content-type: text/csv; charset=utf-8’); заголовок(‘Content-disposition: вложение; filename=»[thefilename].txt»‘);
Я проверил, чтобы убедиться, что пробелы, разрывы строк и т.д. Удалены из поля.
У кого-нибудь есть идея о том, что здесь может быть не так? Что я должен проверить? Обходной путь работает, но просто вводит дополнительный «ненужный» процесс.
Ответ №1:
Пожалуйста, обратитесь к спецификации формата файла CSV-1203. В частности, обратитесь к Добавлению «Известных проблем при использовании Excel«, в котором объясняется, как Excel может повредить данные, не сообщив вам об этом.
Ответ №2:
Я бы предположил, что Drupal использует окончания строк в стиле unix (http://en.wikipedia.org/wiki/Newline ), и это открытие и сохранение в Excel изменяет их на окончания строк в стиле Windows, которые использует MYOB.