Текущее время: Ср, июл 23 2025, 01:01

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Ср, ноя 13 2013, 18:15 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2012, 10:08
Сообщения: 128
Добрый день.
Честно, поиском пользовался, но именно того, что надо не нашел.
У нас есть отчет "Штатное расписание", которые мы выгружаем в Excel (в шаблон загруженный в smw0). Есть переменная - код профессии по классификатору. У неё бывают значения типа 1222.2
В САПе все с этим ок. А вот в Эксель выгружается все равно с запятой. Я уже и форматы различные вертел в шаблоне - запятая и п$$$$ц.
Можно максрос нарисовать, но на это получаешь ответ пользователя "Шо це я на каждой штатке буду по 10 кнопок нажимать, мне надо просто распечатать и шоб все было красиво".

Хелп плиз!!! :shumlol:

_________________
Бог умер (с) Ницше
Ницше умер (с) Бог
Хах.. (с) Смерть


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Ср, ноя 13 2013, 20:18 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
А отчет не Z-ский случаем, может стоит абапера привлечь?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Ср, ноя 13 2013, 20:23 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
+1 к абаперу, обычно инфу которую выводим в эксель все делаем STRING типа, чтобы в эксель выводилось как надо "бабушке" - хотя лично я эксель и ворд ненавижу, в сап есть масса стандартных генераторов отчетов более красивых чем офисные.

_________________
С уважением, Р.В. Величко


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Чт, ноя 14 2013, 06:44 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2011, 14:26
Сообщения: 416
Откуда: KZ, Walldorf
Пол: Мужской
А что, если настроить "разделителя целой и дробной части" на `.` (панель управления ПК)?

_________________
Если две ошибки не принесли результата - испробуй третью. Лоренс Питер


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Чт, ноя 14 2013, 07:40 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
По умолчанию ячейка в Excel не типизированная (тип общий). Когда в такую ячейку заносят значение, которое похоже на какой-то определенный тип, то он пытается привести это значение к этому типу. Скажем, строка "12.12.12" похожа на дату, а "1222.2" похоже на число. Для таких строк Excel пытается применить правила отображение, которые действуют для соответствующих типов.

А что делать, чтобы "1222.2" работала как строка? Причем так, чтобы это не зависело от настроек конкретного компьютера.
Нужно определить тип ячейки как текстовый.

Простой способ.
В исходном сообщении указано, что речь идет об отчете "Штатное расписание". Полагаю, что есть некий преднастроенный шаблон этого документа, который затем программа заполняет. Необходимо в этом шаблоне заранее определить формат "Текстовый" всей колонке, где отображается код профессии.

Сложный способ.
В abap-программе отчета может быть реализован какой-то сложный способ заполнения шаблона, так что первый вариант работать не будет. В этом случае нужно, чтобы формат ячейки указывала сама программа

Пример кода на Basic-е.
Code:
These examples set the number format for cell A17, row one, and column C (respectively) on Sheet1.
Worksheets("Sheet1").Range("A17").NumberFormat = "General"
Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
Worksheets("Sheet1").Columns("C"). _
    NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"

Код текстового формата - NumberFormat = "@".

ЗЫ. Кстати, то что 1222.2 выводиться с запятой, может связано с тем, как именно переносятся данные в Excel. Может быть там есть код, который намеренно выполняет такой действие.
В любом случае, нужно общаться с абапером.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Чт, ноя 14 2013, 10:02 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 25 2011, 17:37
Сообщения: 291
Если исходить из того, что причина в интерпретации значения в ячейке как числа, то могу предложить ламерский способ:)
Заходим в ексель, там файл-параметры-дополнительно. Там убираем галку "использовать системные разделители" и меняем разделитель целой и дробной части на "."
Но тогда это будет зависеть от настроек компа. В противном случае, варианты выше.
RoustR написал(а):
А что делать, чтобы "1222.2" работала как строка? Причем так, чтобы это не зависело от настроек конкретного компьютера.


Автозапуск макроса при открытии книги тоже можно сделать просто

_________________
Зачем делать просто, когда можно сделать круто?!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Чт, ноя 14 2013, 10:05 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 07 2013, 22:18
Сообщения: 61
Если поставить в значение ячейки - первый знак апостроф (') - Excel выведет ячейку как текстовую.
Может это Вам пригодится.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Чт, ноя 14 2013, 10:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2012, 10:08
Сообщения: 128
Спасибо всем за быстрые ответы.
1) Да, отчет Z-кий, я его и писал, так что обращаться нужно к самому себе. :) Попробую поменять на string, если это что-то даст, сейчас это поле сhar.
2) В Екселе тип ячейки стоит текстовый. Все равно криво делает.
3) Попробую с автомакросом, но это опять слушать, что им влом разрешать выполнение макроса в книге :)
4) А можно подробней по поводу апострофа? Он же не пропадет никуда потом.

_________________
Бог умер (с) Ницше
Ницше умер (с) Бог
Хах.. (с) Смерть


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Чт, ноя 14 2013, 10:17 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
ZGilgelad написал(а):
Автозапуск макроса при открытии книги тоже


Хорошо, когда компьютер лично твой и ты можешь делать с ним что хочешь. Но в больших организациях может действовать довольно строгая политика безопасности. Макросы могут быть вообще отключены, либо работать только по запросу. И сам ты не в праве ее менять.
Задалбывает при каждом запуске отчета отвечать на вопрос про макрос.
Да, и даже, если я сам могу снизить уровень безопасности, не хочется его снижать из-за такого глупого макроса.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Чт, ноя 14 2013, 10:19 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
marcustas написал(а):
2) В Екселе тип ячейки стоит текстовый. Все равно криво делает.


Тогда нужно внимательно посмотреть, как именно происходит заполнение шаблона программой. Excel текстовую ячейку точно менять самостоятельно не будет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод в точки в Excel вместо запятой
СообщениеДобавлено: Чт, ноя 14 2013, 10:41 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
А каким образом данные выводятся в Excel (OLE, ZWWW, DOI)?
По идее CHAR на STRING менять нет смысла.

Апостроф не пропадает, но и не отображается, если стоит первым.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB