Текущее время: Чт, июл 31 2025, 17:12

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проблема с выгрузкой в MS Excel.
СообщениеДобавлено: Вт, дек 02 2008, 18:50 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, фев 19 2008, 21:02
Сообщения: 202
Откуда: Moscow, Russia.
Пол: Мужской
Добрый день! Подскажить такую вещь, может кто сталкивался уже. Формирую печатную форму в MS Excel. Все шикарно, но... Есть одно лишь поле которое портит всю малину. Это поле похоже на формат "Даты" (выглядит примерно вот так: 3.2.1) и поэтому MS Excel меняет под него формат на дату и соответственно преобразует. Как можно в MS Excel "жестко" прописать формат, чтобы он его не менял? Или отключить какие нибудь приблуды, чтобы он "не думал".


P.S.:
1.Формат ячейки в MS Excel стоит текстовый.
2. Поле которое записываю, в заранее перевожу в Формат Char.
И еще один момент, эта ячейка меняет формат только если число указанное выше. Все другие числа ( например 1.2.1.2.; 1.2.2.7) она оставляет в прежнем формате (Текстовый).

Взаранее благодарен,
Алексей.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с выгрузкой в MS Excel.
СообщениеДобавлено: Вт, дек 02 2008, 23:45 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
k_aleksei написал:
Это поле похоже на формат "Даты" (выглядит примерно вот так: 3.2.1) и поэтому MS Excel меняет под него формат на дату и соответственно преобразует. Как можно в MS Excel "жестко" прописать формат, чтобы он его не менял? Или отключить какие нибудь приблуды, чтобы он "не думал".


это нормальная реакция экселя потому что преполагаю что по у молчанию в настройках проверок ошибок стоит соответствующий флаг.
поэтому есть два варианта :
1) отключить эту опцию в настройках (но думаю этот вариант менее полезный)
2) прописать формат
Code:
set property of cell 'NumberFormat' = '@'.

но конечно в данном случае ексель не будет преобразовывать и ваше 3.2.1 будет я в ячейке прописываться в том же формате , т.е 3.2.1 , но конечно же ваша ячейка будет отображаться с напоминанием о возможной ошибке. я думаю и эту опцию можно убрать силами OLE2

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с выгрузкой в MS Excel.
СообщениеДобавлено: Ср, дек 03 2008, 10:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
k_aleksei написал:
...Как можно в MS Excel "жестко" прописать формат, чтобы он его не менял? Или отключить какие нибудь приблуды, чтобы он "не думал".

Знакомо, в Ескеле полно подобных глюков. Данную проблему мне удавалось победить только апострофом в начале строки, типа: '1.2.1.2

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


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

Зарегистрирован:
Вт, фев 19 2008, 21:02
Сообщения: 202
Откуда: Moscow, Russia.
Пол: Мужской
Parazit написал:
k_aleksei написал:
...Как можно в MS Excel "жестко" прописать формат, чтобы он его не менял? Или отключить какие нибудь приблуды, чтобы он "не думал".

Знакомо, в Ескеле полно подобных глюков. Данную проблему мне удавалось победить только апострофом в начале строки, типа: '1.2.1.2




Да кстати, мне об этом тоже подсказал один гуру. Сделал, проблема решена!

Всем спасибо!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 10:43 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
создал шаблон, в ячейку поставил текстовый формат, ввел туда 1.1.1 и ничего мне он не поменял типа на 01.01.2001, просто выдал предупреждение с выбором действий, преобразовать, пропустить и тд.
Может это зависит от самого Офиса...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 10:53 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, фев 19 2008, 21:02
Сообщения: 202
Откуда: Moscow, Russia.
Пол: Мужской
Besa написал:
создал шаблон, в ячейку поставил текстовый формат, ввел туда 1.1.1 и ничего мне он не поменял типа на 01.01.2001, просто выдал предупреждение с выбором действий, преобразовать, пропустить и тд.
Может это зависит от самого Офиса...



Х.З. от чего это зависит. У меня к примеру на 20 записей (типа 3.2.4., 2.2.7 и т.д.) 3 поля конвертируются. Тут сложно угодать от чего это зависит, главное что есть простой способ его решения.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 10:59 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
это зависит от настроек и формата
как я уже описывал в настройках во вкладке проверки ошибок стоит флаг 'Текстовая дата с 2-значным годом' которую и надо убрать, а формат текстовый . другой вопрос как эту опцию программно но думаю и это решаемо надо просто поискать в VBA

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 11:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
ghost написал:
это зависит от настроек и формата

Не всё зависит от настроек. Например, если заменять значение в ячейке методом поиска-замены, то мне никакими настройками не удалось отучить Ексель преобразовывать в числа значения, похожие на числа. Лидирующие нули всегда стираются. Спасает только апостроф.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 11:20 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
Я делаю вот так и у меня все нормально!!!
Code:
mso-number-format:"@";


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 11:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, фев 19 2008, 21:02
Сообщения: 202
Откуда: Moscow, Russia.
Пол: Мужской
Valeriy написал:
Я делаю вот так и у меня все нормально!!!
Code:
mso-number-format:"@";



А поясните куда это вставлять, если уж на то пошло?
Я так понимаю решение этой проблемы есть несколько,
по этому будет полезно знать несколько вариантов решения проблеммы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 11:36 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
Parazit написал:
ghost написал:
это зависит от настроек и формата

Не всё зависит от настроек. Например, если заменять значение в ячейке методом поиска-замены, то мне никакими настройками не удалось отучить Ексель преобразовывать в числа значения, похожие на числа. Лидирующие нули всегда стираются. Спасает только апостроф.


делал похожее но кажется если формат был текстовым он никак не затирал лидирующие нули , но опять же было предупреждение типа число преобразовано в текст . давно было конечно может что и путаю

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 11:43 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
Я формирую отчет тегами, а потом вывожу!

Сначала создаю стиль!

Code:
FORM add_top.
  html-line = '<HTML>'.
  append html.
  html-line = '<HEAD>'.
  append html.
  html-line = '<META http-equiv="content-type" content="text/html; charset=windows-1251">'.
  append html.
  html-line = '<STYLE type = "text/css" >'.
  append html.
  html-line = 'TABLE { width: 100%; border-collapse: collapse; cellpadding: 0px; cellspacing: 0px; }'.
  append html.
  " Заголовки ячейки без акантовки линиями --- БЕ # Имя отчёта # Дата отчета ------------------------------------------------------------
  html-line = '.Glava_Bukrs      {ALIGN:Center; Color:#0033cc; font-size:12.0pt; font-family:Arial;}'.
  append html.
  html-line = '.Glava_NameReport {ALIGN:Center; Color:#ff0000; font-size:12.0pt; font-family:Arial;}'.
  append html.
  html-line = '.Glava_Date       {ALIGN:Center; Color:#black;  font-size:10.0pt; font-family:Arial;}'.
  append html.
  " Заголовок ячейки шапки документа ----------------------------------------------------------------------------------------------------
  html-line = '.Heder_doc        {ALIGN:Center; Background:#A6CAF0; font-size:10.0pt; font-family:Arial; border:0.10pt solid black;}'.
  append html.
  " Строки документа  -------------------------------------------------------------------------------------------------------------------
  html-line = '.Lines_doc        {Background:#ffffff; Font-size:10.0pt; font-family:Arial; border:0.10pt solid darkgray; mso-number-format:"@";}'.
  append html.
  " Суммы документа ---------------------------------------------------------------------------------------------------------------------
  html-line = '.Sum_doc_n        {ALIGN:Right; Background:#ffffcc; font-size:10.0pt; font-family:Arial; border:0.10pt solid black; mso-number-format:"@";}'.
  append html.
  html-line = '.Sum_doc_p        {ALIGN:Right; Background:#ffff99; font-size:10.0pt; font-family:Arial; border:0.10pt solid black; mso-number-format:"@"; mso-spacerun:yes;}'.
  append html.
  html-line = '.Sum_doc_f        {ALIGN:Right; Background:#ffcc00; font-size:10.0pt; font-family:Arial; border:0.10pt solid black; mso-number-format:"@"; mso-spacerun:yes;}'.
  append html.
  html-line = '</STYLE>'.
  append html.
  html-line = '</HEAD>'.
  append html.
ENDFORM.


А потом формирую отчет!
Используя class Line_DOC

Code:
LOOP AT TAB_XLS INTO WA_TAB_XLS.
    WRITE WA_TAB_XLS-DMBTR  TO LINE_DMBTR NO-ZERO.

    CONCATENATE '<TR>' '<TD class=Lines_doc ALIGN=center>' WA_TAB_XLS-deklar '</TD>'
                       '<TD class=Lines_Doc ALIGN=Left>  ' WA_TAB_XLS-doxnm  '</TD>'
                       '<TD class=Lines_Doc ALIGN=Left>  ' WA_TAB_XLS-GRPVD  '</TD>'
                       '<TD class=Lines_Doc ALIGN=center>' WA_TAB_XLS-DEBET  '</TD>'
                       '<TD class=Lines_Doc ALIGN=center>' WA_TAB_XLS-KREDIT '</TD>'
                       '<TD class=Lines_doc ALIGN=right> ' LINE_DMBTR '</TD>'
    INTO html-line .
    APPEND html. CLEAR html.
ENDLOOP.


И вывод делаю в файл XLS


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 12:11 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, фев 19 2008, 21:02
Сообщения: 202
Откуда: Moscow, Russia.
Пол: Мужской
Valeriy написал:
Я формирую отчет тегами, а потом вывожу!

Сначала создаю стиль!

Code:
FORM add_top.
  html-line = '<HTML>'.
  append html.
  html-line = '<HEAD>'.
  append html.
  html-line = '<META http-equiv="content-type" content="text/html; charset=windows-1251">'.
  append html.
  html-line = '<STYLE type = "text/css" >'.
  append html.
  html-line = 'TABLE { width: 100%; border-collapse: collapse; cellpadding: 0px; cellspacing: 0px; }'.
  append html.
  " Заголовки ячейки без акантовки линиями --- БЕ # Имя отчёта # Дата отчета ------------------------------------------------------------
  html-line = '.Glava_Bukrs      {ALIGN:Center; Color:#0033cc; font-size:12.0pt; font-family:Arial;}'.
  append html.
  html-line = '.Glava_NameReport {ALIGN:Center; Color:#ff0000; font-size:12.0pt; font-family:Arial;}'.
  append html.
  html-line = '.Glava_Date       {ALIGN:Center; Color:#black;  font-size:10.0pt; font-family:Arial;}'.
  append html.
  " Заголовок ячейки шапки документа ----------------------------------------------------------------------------------------------------
  html-line = '.Heder_doc        {ALIGN:Center; Background:#A6CAF0; font-size:10.0pt; font-family:Arial; border:0.10pt solid black;}'.
  append html.
  " Строки документа  -------------------------------------------------------------------------------------------------------------------
  html-line = '.Lines_doc        {Background:#ffffff; Font-size:10.0pt; font-family:Arial; border:0.10pt solid darkgray; mso-number-format:"@";}'.
  append html.
  " Суммы документа ---------------------------------------------------------------------------------------------------------------------
  html-line = '.Sum_doc_n        {ALIGN:Right; Background:#ffffcc; font-size:10.0pt; font-family:Arial; border:0.10pt solid black; mso-number-format:"@";}'.
  append html.
  html-line = '.Sum_doc_p        {ALIGN:Right; Background:#ffff99; font-size:10.0pt; font-family:Arial; border:0.10pt solid black; mso-number-format:"@"; mso-spacerun:yes;}'.
  append html.
  html-line = '.Sum_doc_f        {ALIGN:Right; Background:#ffcc00; font-size:10.0pt; font-family:Arial; border:0.10pt solid black; mso-number-format:"@"; mso-spacerun:yes;}'.
  append html.
  html-line = '</STYLE>'.
  append html.
  html-line = '</HEAD>'.
  append html.
ENDFORM.


А потом формирую отчет!
Используя class Line_DOC

Code:
LOOP AT TAB_XLS INTO WA_TAB_XLS.
    WRITE WA_TAB_XLS-DMBTR  TO LINE_DMBTR NO-ZERO.

    CONCATENATE '<TR>' '<TD class=Lines_doc ALIGN=center>' WA_TAB_XLS-deklar '</TD>'
                       '<TD class=Lines_Doc ALIGN=Left>  ' WA_TAB_XLS-doxnm  '</TD>'
                       '<TD class=Lines_Doc ALIGN=Left>  ' WA_TAB_XLS-GRPVD  '</TD>'
                       '<TD class=Lines_Doc ALIGN=center>' WA_TAB_XLS-DEBET  '</TD>'
                       '<TD class=Lines_Doc ALIGN=center>' WA_TAB_XLS-KREDIT '</TD>'
                       '<TD class=Lines_doc ALIGN=right> ' LINE_DMBTR '</TD>'
    INTO html-line .
    APPEND html. CLEAR html.
ENDLOOP.


И вывод делаю в файл XLS



ЖЕСТЬ!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 12:13 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
Ага точно :lol:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с выгрузкой в MS Excel.
СообщениеДобавлено: Чт, авг 06 2009, 08:50 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, мар 18 2009, 09:08
Сообщения: 55
Откуда: Москва
Пол: Женский
Чтоб не создавать еще 10 тем по одному и тому же, спрошу здесь...
Подскажите пожалуйста, каким образом решить проблему: если изначально в сап передается значение например 2/1939, то каким образом можно победить преобразование Excel'я в значение фев.39 ??? При этом отчет вызывается с помощью формата отчета, и к ракурсу Excel есть шаблон. В нем почему-то проставленный в нужном мне столбце апостроф ничего ровным счетом не изменил...
Каким образом побеждали данную проблему с помощью апострофов? У меня не получилось...


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

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


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

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


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

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