Как заставить Excel не сбрасывать строки при открытии csv-файла? - PullRequest
4 голосов
/ 31 августа 2011

Справочная информация:

У нас есть веб-приложение, в котором пользователь может экспортировать заказы в формате csv.Для пользователей с установленным Microsoft Excel это программа по умолчанию.Они просто нажимают «Открыть» после загрузки файла.Пользователи в основном используют Internet Explorer, Firefox и Chrome.Нет различий в поведении.

Проблема:

Если пользователь просто открывает CSV-файл (из браузера или обозревателя), файл открывается в Excel и данныезагружается автоматически.Но иногда строки просто отсутствуют.Ушел.Нет исключений, нет сообщений, ничего.

Данные там , если вы откроете файл с помощью блокнота, вы увидите его.

(подозреваю, что он что-то имеетделать со специальными символами, кавычками, запятыми и т. д., но я не могу найти основную причину для этого)

Как заставить это работать:

Если вы сохранитефайл на диск, откройте Excel и выберите File -> Open -> Format: Textfiles (*.prn, *.txt, *.csv, *.skv) -> Open Excel запустит мастер импорта, и все будет отлично работать.

Могу ли я что-нибудь сделать с экспортным файлом, чтобы вызвать мастер импорта илипросто скажите Excel, чтобы не исключать нашу важную информацию о заказе без предупреждения?

Ответы [ 2 ]

4 голосов
/ 31 августа 2011

Я думаю, что нашел причину этого.Кажется, это связано с региональными настройками, как описано в этом посте и предложениями от superuser.com

Я решил это с помощью , оборачивая все поля кроме чисел с кавычками и теперь все работает просто отлично.

0 голосов
/ 31 августа 2011

Убедитесь, что вы используете согласованную схему разделителей для всех строк в файле.Например, проверьте, есть ли в качестве разделителей строк последовательности \ n и \ r \ n.

...