#csv #openoffice.org #openoffice-calc
#csv #openoffice.org #openoffice-calc
Вопрос:
У меня есть веб-сайт (PHP), который генерирует CSV-файл (text / csv) со следующим содержимым:
ID;E-Mail_User;Name;Applikation;Rolle;Auftragsdatum;Administrator 522;пользователь@домен; WXDUILAS; ABCD; XYZ;2009-03-04 05:00:09;пользователь@домен
Когда я выбираю OpenOffice для отображения CSV-файла, отображается только пустой развернутый лист. Ошибка не отображается. Когда я пытаюсь открыть файл с помощью oocalc test.csv
, происходит то же самое. Я пробовал разные версии OpenOffice.
Что не так с файлом? Как я могу получить сообщение об ошибке из OpenOffice?
Обновление: Это не имеет никакого отношения к использованию точек с запятой. Я сократил файл до 4 символов. Файл с содержимым ID;A
открывает диалоговое окно импорта CSV. Но ID;E
открывается пустой лист. Почему?
Обновление 2: Шаблон id;E
также работает. ID;E
должен быть какой-то волшебный код. Кто-нибудь знает значение?
Комментарии:
1. Это связано с точкой с запятой — файл, содержащий только идентификатор, E, вызывает открытие диалогового окна импорта. Как сказал Мэтт, CSV разделяется запятыми, нравится вам это или нет.
2. Вопрос в том, почему
ID;A
работает, аID;E
нет.3. Ошибка в ooffice? Как бы то ни было, ответ заключается в создании правильного CSV.
Ответ №1:
Идентификатор; в первых 3 символах файла — это подпись для файла SYLK. Четвертым символом может быть P, N или E, которые помечают определенную информацию о том, как должна обрабатываться остальная часть файла… таким образом, ваш файл «CSV» почти наверняка анализируется как файл SYLK при чтении этой начальной подписи, а остальная часть файла имеет недопустимый формат SYLK.
Комментарии:
1. Excel демонстрирует такое же поведение. support.microsoft.com/en-us/help/323626 /… — «Файл SYLK — это текстовый файл, который начинается с «ID» или «ID_xxxx», где xxxx — текстовая строка. Первой записью SYLK-файла является запись ID_Number. Когда Excel идентифицирует этот текст в начале текстового файла, он интерпретирует файл как файл SYLK.» — Даже изменение заголовка первого столбца на
id
устраняет проблему.
Ответ №2:
CSV означает, что C omma имеет отдельные V значения, чего нет в вашем документе.
Это точки с запятой.
Если возможно, измените PHP-код, чтобы сгенерировать это вместо (который на самом деле является CSV):
ID,E-Mail_User,Name,Applikation,Rolle,Auftragsdatum,Administrator
522,user@domain,WXDUILAS,ABCD,XYZ,2009-03-04 05:00:09,user@domain
…или укажите ;
в качестве разделителя с помощью Text Import
диалогового окна.
Комментарии:
1. похоже, это невозможно, если браузер запускает oocalc.
2. Если вы не сообщите программе, что разделителем является
;
, а не,
, она волшебным образом не узнает об этом.
Ответ №3:
Добавьте пробел после идентификатора (т.е. «ID»).
Не идеальное решение, но сработало для меня.