Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Редактирование CSV в Excel (Excel обрезает ведущий ноль)
 
 автор: tAleks   (04.01.2013 в 11:29)   письмо автору
 
 

Делаю выгрузку прайс-листа из БД в CSV, чтобы можно было в Excel'е отредактировать и загрузить обратно. В прайсе, у каждой позиции помимо ID, есть еще стоковый номер состоит из 4 символов, и у многих есть ведущий ноль, например - 0017, 0241.

С выгрузкой в CSV проблем нет. Но когда открываю такой CSV в Excel, стоковые номера, которые должны выглядеть так: 0017, 0241, выглядят так 17, 241. Т.е. Excel думает что это цифры, и обрезает ведущие ноли. При этом в CSV значения верные.

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

  Ответить  
 
 автор: Владимир55   (04.01.2013 в 11:56)   письмо автору
 
   для: tAleks   (04.01.2013 в 11:29)
 

Это известная проблема. Excel шибко умный и принудительно обрабатывает числа.

Файл CSV автоматически открывается в формате «Общий», при котором искажаются числа. Число 7.500 отображается как 7.5, а число 000125 отображается как 125. Причем не только отображается, но и переписывается в CSV файле.

Чтобы этого избежать, есть два варианта:
- записывать число в кавычках (наличие этих кавычек нужно учесть при дальнйшей обработке методами РНР);
- открывать файл в Microsoft Excel, предварительно выбрав тип файлов «Текстовые файлы».

Еще можно перед числом писать нижнее подчеркивание (_), которое потом убрать после перевода в Microsoft Excel.

  Ответить  
 
 автор: tAleks   (04.01.2013 в 12:10)   письмо автору
 
   для: Владимир55   (04.01.2013 в 11:56)
 

> - записывать число в кавычках

Не помогло, все равно обрезает нули.


>- открывать файл в Microsoft Excel, предварительно выбрав тип файлов «Текстовые файлы».

Это где выбрать? Excel 2010.

  Ответить  
 
 автор: Владимир55   (04.01.2013 в 13:10)   письмо автору
9.2 Кб
 
   для: tAleks   (04.01.2013 в 12:10)
 

У меня такая же проблема была с артикулами, и так она решилась (скриншот).

2003

  Ответить  
 
 автор: tAleks   (22.01.2013 в 17:15)   письмо автору
 
   для: Владимир55   (04.01.2013 в 13:10)
 

Скриншот видел, но как решить проблему так и не понял. Можно по подробнее? Спасибо.

  Ответить  
 
 автор: cheops   (22.01.2013 в 20:13)   письмо автору
 
   для: tAleks   (22.01.2013 в 17:15)
 

Одиночную кавычку поставьте перед числом и число станет строкой.

  Ответить  
 
 автор: tAleks   (23.01.2013 в 17:54)   письмо автору
 
   для: cheops   (22.01.2013 в 20:13)
 

>Одиночную кавычку поставьте перед числом и число станет строкой.

Число становится строкой, но вместе с этой кавычкой. Таким образом подойдет практически любой не числовой символ. Но это не вариант, потом править вычищать эти кавычки тоже не хочется. Как-то по другому можно решить проблему?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования