Текущее время: Пт, авг 01 2025, 14:05

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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