Как заставить Excel не сбрасывать строки при открытии csv-файла?
Фон:
У нас есть веб-приложение, в котором пользователь может экспортировать заказы в формате csv. Для пользователей с установленным Microsoft Excel это программа по умолчанию. Они просто нажимают «Открыть» после загрузки файла. Пользователи в основном используют Internet Explorer, Firefox и Chrome. Нет разницы в поведении.
Проблема:
Если пользователь просто открывает csv-файл (из браузера или проводника), файл открывается в Excel и данные загружаются автоматически. Но иногда строки просто отсутствуют. Ушел. Нет исключений, нет сообщений, ничего.
Данные находятся там, если вы откроете файл с помощью блокнота, вы увидите его.
(я подозреваю, что это как-то связано со специальными символами, кавычками, запятыми и т. д., но я не могу найти причину этого)
Как заставить это работать:
Если вы сохраните файл на диск, откройте Excel и выберите File -> Open -> Format: Textfiles (*.prn, *.txt, *.csv, *.skv) -> Open
Excel запустит мастер импорта, и все будет отлично работать.
Могу ли я что-нибудь сделать с экспортным файлом, чтобы принудительно запустить мастер импорта или просто указать Excel не исключать информацию о нашем критическом заказе без предупреждения?
2 ответа
Я думаю, что нашел причину этого. Кажется, это связано с региональными настройками, описанными в этот пост и sugesstions от superuser.com
Я решил это, обернув все поля , кроме чисел с кавычками , и теперь он работает просто отлично.
Убедитесь, что вы используете согласованную схему разделителей для всех строк в файле. Например, проверьте, есть ли в качестве разделителей строк последовательности \ n и \ r \ n.