SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Форматирование ячеек при выгрузке в MS Excel


Goto page 1, 2  Next
 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
klkuznetsov
Специалист
Специалист


Age: 47
Joined: 06 Aug 2010
Posts: 79
Location: Ukraine

PostPosted: Fri Oct 01, 2010 10:20 am    Post subject: Форматирование ячеек при выгрузке в MS Excel Reply with quote

Здравствуйте!

Подскажите пожалуйста, выгружаю в ексель ALV-таблицу.
Использую класс написанный нам консультантами, который использует OLE2_object. Все замечательно выгружается, строчки красятся цветом, если нужно выделяются полужирным. Но вот с формулами проблемы:
1. Если ексель не настроен на отображение ссылок в виде R1C1, формулы не работают, выдается ошибка.
2. А если настроен на отображение ссылок так как написано выше то в ячейке получаем ошибку "имя?", и для того чтобы формула сработала нужно нажать Ф2 и ентер.

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

Заранее спасибо за помощь.



post.JPG
 Description:
 Filesize:  50.32 KB
 Viewed:  18651 Time(s)

post.JPG




Last edited by klkuznetsov on Fri Oct 01, 2010 12:24 pm; edited 1 time in total
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 60
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Fri Oct 01, 2010 12:19 pm    Post subject: Reply with quote

Картинки не приложили. Может в свойствах ячейки стоит тип не General?
_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
klkuznetsov
Специалист
Специалист


Age: 47
Joined: 06 Aug 2010
Posts: 79
Location: Ukraine

PostPosted: Fri Oct 01, 2010 12:38 pm    Post subject: Reply with quote

vga wrote:
Картинки не приложили. Может в свойствах ячейки стоит тип не General?


General = Общий? Если так то стоит именно General
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 60
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Fri Oct 01, 2010 1:07 pm    Post subject: Reply with quote

klkuznetsov wrote:
vga wrote:
Картинки не приложили. Может в свойствах ячейки стоит тип не General?


General = Общий? Если так то стоит именно General


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

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
klkuznetsov
Специалист
Специалист


Age: 47
Joined: 06 Aug 2010
Posts: 79
Location: Ukraine

PostPosted: Fri Oct 01, 2010 1:39 pm    Post subject: Reply with quote

vga wrote:
klkuznetsov wrote:
vga wrote:
Картинки не приложили. Может в свойствах ячейки стоит тип не General?


General = Общий? Если так то стоит именно General


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


Вся фишка в том что формулы я забиваю во внутренюю таблицу и потом эта таблица выводится в ексель с помощью копипаста написанного на абапе, у нас есть класс который мне достался в наследство от предыдущего программиста. Я вот думаю что нужно указать в свойствах ячейки что там будет содержаться формула или я не прав?
Back to top
View user's profile Send private message
Fami4
Специалист
Специалист


Age: 43
Joined: 04 Aug 2009
Posts: 62
Location: UA

PostPosted: Fri Oct 01, 2010 2:37 pm    Post subject: Reply with quote

В вашем случае проблема заключается в стиле ссылок R1C1.
я попробовал формулу (стиль R1C1) вставить в лист А1 -картина та же,что и у вас.

тут 2 варианта:
1. Принудительно изменять стиль ссылок на R1C1.
например:
Code:
SET PROPERTY OF EXCEL_APPLICATION 'ReferenceStyle' = -4150.


2. Переписать все формулы
Back to top
View user's profile Send private message
klkuznetsov
Специалист
Специалист


Age: 47
Joined: 06 Aug 2010
Posts: 79
Location: Ukraine

PostPosted: Fri Oct 01, 2010 4:02 pm    Post subject: Reply with quote

Fami4 wrote:
В вашем случае проблема заключается в стиле ссылок R1C1.
я попробовал формулу (стиль R1C1) вставить в лист А1 -картина та же,что и у вас.

тут 2 варианта:
1. Принудительно изменять стиль ссылок на R1C1.
например:
Code:
SET PROPERTY OF EXCEL_APPLICATION 'ReferenceStyle' = -4150.


2. Переписать все формулы


А вот за это большое спасибо конечно же я изменю стиль ссылок, кстати откуда можно узнать все эти свойства и прочее где можно это прочитать?
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Fri Oct 01, 2010 4:07 pm    Post subject: Reply with quote

Поищите в справке Excel слова "Visual basic" Wink
_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Fami4
Специалист
Специалист


Age: 43
Joined: 04 Aug 2009
Posts: 62
Location: UA

PostPosted: Fri Oct 01, 2010 4:12 pm    Post subject: Reply with quote

если в Excel, то см. предыдущий пост

если в ABAP, то на форуме много примеров Wink
Back to top
View user's profile Send private message
klkuznetsov
Специалист
Специалист


Age: 47
Joined: 06 Aug 2010
Posts: 79
Location: Ukraine

PostPosted: Mon Oct 04, 2010 10:10 am    Post subject: Reply with quote

Небольшое уточнение сработало вот так

Code:
SET PROPERTY OF application 'ReferenceStyle' = 'xlR1C1'.


Но теперь другая фигня все формулы нормально прописались, но все равно нужно проклацать Ф2 ентер чтобы они заработали, как с этим бороться?
Back to top
View user's profile Send private message
Fami4
Специалист
Специалист


Age: 43
Joined: 04 Aug 2009
Posts: 62
Location: UA

PostPosted: Mon Oct 04, 2010 10:26 am    Post subject: Reply with quote

Quote:
Небольшое уточнение сработало вот так

Code:
SET PROPERTY OF application 'ReferenceStyle' = 'xlR1C1'.



а у меня ваш вариант не работает Very Happy

Quote:
Но теперь другая фигня все формулы нормально прописались, но все равно нужно проклацать Ф2 ентер чтобы они заработали, как с этим бороться?


судя по всему у вас с настройками excel непорядок...
Back to top
View user's profile Send private message
klkuznetsov
Специалист
Специалист


Age: 47
Joined: 06 Aug 2010
Posts: 79
Location: Ukraine

PostPosted: Mon Oct 04, 2010 11:09 am    Post subject: Reply with quote

Fami4 wrote:
Quote:
Небольшое уточнение сработало вот так

Code:
SET PROPERTY OF application 'ReferenceStyle' = 'xlR1C1'.



а у меня ваш вариант не работает Very Happy

Quote:
Но теперь другая фигня все формулы нормально прописались, но все равно нужно проклацать Ф2 ентер чтобы они заработали, как с этим бороться?


судя по всему у вас с настройками excel непорядок...


Хм... у меня мой вариант тоже уже не работает, мистика какая-то, в смысле непорядок с настройками? Я как поставил ексель ничего в нем не менял, все настройки по-умолчанию... Что делать ума не приложу Sad
Back to top
View user's profile Send private message
Fami4
Специалист
Специалист


Age: 43
Joined: 04 Aug 2009
Posts: 62
Location: UA

PostPosted: Mon Oct 04, 2010 11:21 am    Post subject: Reply with quote

т.е. раньше работало?

для ясности картины приведите пример кода выгрузки в Excel и типы данных во вн. таблице формул
Back to top
View user's profile Send private message
klkuznetsov
Специалист
Специалист


Age: 47
Joined: 06 Aug 2010
Posts: 79
Location: Ukraine

PostPosted: Mon Oct 04, 2010 11:47 am    Post subject: Reply with quote

Fami4 wrote:
т.е. раньше работало?

для ясности картины приведите пример кода выгрузки в Excel и типы данных во вн. таблице формул


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



shablon.xls
 Description:
шаблон в который экспортируется

Download
 Filename:  shablon.xls
 Filesize:  16 KB
 Downloaded:  862 Time(s)


my_prog.txt
 Description:
форма экспорта в ексель

Download
 Filename:  my_prog.txt
 Filesize:  4.83 KB
 Downloaded:  1306 Time(s)


class_lcl_excel_interface.txt
 Description:
Класс

Download
 Filename:  class_lcl_excel_interface.txt
 Filesize:  23.28 KB
 Downloaded:  3647 Time(s)

Back to top
View user's profile Send private message
Nicks
Участник
Участник



Joined: 02 Aug 2010
Posts: 9

PostPosted: Mon Oct 04, 2010 11:49 am    Post subject: Reply with quote

Вместо
Code:
SET PROPERTY OF application 'ReferenceStyle' = 'xlR1C1'.

Попробуйте
Code:
SET PROPERTY OF application 'ReferenceStyle' = -4150.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.