Текущее время: Вс, июл 20 2025, 00:16

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Заполнение данными ячеек Excel.
СообщениеДобавлено: Чт, дек 04 2008, 09:13 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Привет всем! Почитал здесь темы про Excel, но так и не нашел удобного способа заполнения ячеек. Я хочу выгрузить таблицу. Метод spreadsheet->insert_one_table не подходит, так как придется сформировывать таблицу гигантских размеров, чего не хотелось бы. А если заполнять по ячейкам, то можно сэкономить память. Пытаюсь использовать метод SPREADSHEET->SET_RANGES_DATA.
Вот кусок кода:
Code:
  call method i_spreadsheet->insert_range_dim
     exporting
       no_flush = 'X'
       name     = 'AA'
       left     = 1
       top      = 1
       rows     = kr
       columns  = kc.

     WA_RANGES-NAME = 'AA'.
     WA_RANGES-COLUMNS = kc.
     WA_RANGES-ROWS = kr.
     APPEND WA_RANGES TO RANGES.
     WA_CONTENTS-COLUMN = x.
     WA_CONTENTS-ROW = y.
     WA_CONTENTS-VALUE = i_agr-agr_name1.
     APPEND WA_CONTENTS TO CONTENTS.

CALL METHOD I_SPREADSHEET->SET_RANGES_DATA
  EXPORTING
   RANGES    = RANGES
   CONTENTS  = CONTENTS
   NO_FLUSH  = 'X'.

Почему-то, эти строки не работают:
WA_RANGES-COLUMNS = kc.
WA_RANGES-ROWS = kr.

Если туда явно записать значения в виде цифр, то все работает, а если через переменные, то ничего не отображается. В чем может быть причина? Пробовал туда записывать значения в символьном виде, толку нету. :roll:


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

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Заметил одну особенность.. Похоже методы недоделанные. Если в ranges задал область x на y, то надо обязательно сделать ровно x*y записей content. Если меньше, то видать что-то не отрабатывает и список появляется пустой.


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

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Спасибо! Разобрался! Метод insert_range_dim здесь не подходит, надо использовать insert_range. :wink:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заполнение данными ячеек Excel.
СообщениеДобавлено: Чт, дек 04 2008, 12:58 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Damir написал(а):
Вот кусок кода:

Пожалуйста, для оформления "кусков кода" используйте тег "code"

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 04 2008, 13:07 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Новая проблема возникла. Почему-то если выделил область X на Y, надо всю ее заполнить. Иначе будут в ячейках всякий мусор. Даже при перезапуске программы в ячейках остаются старые значения, если их не перебьешь новыми. Похоже где-то на локальном машине сохраняются промежуточные таблички. Никто не сталкивался с такой проблемой?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 04 2008, 14:31 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Может кто подскажет как сделать Excel отчет с заполнением по ячейкам? Можно конечно сделать текстовый файл или html, а потом его подгрузить. Но хотелось бы сделать выгрузку, используя стандартные средства. Тот же самый spreadsheet.


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

Зарегистрирован:
Вт, сен 12 2006, 12:57
Сообщения: 85
Пообщался сам с собой, много нового узнал :-)


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

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Damir написал(а):
Может кто подскажет как сделать Excel отчет с заполнением по ячейкам? Можно конечно сделать текстовый файл или html, а потом его подгрузить. Но хотелось бы сделать выгрузку, используя стандартные средства. Тот же самый spreadsheet.

Кхм, собственно что нужно то, как легче сформировать Ексель-отчет, или непременно саповскими функциями? Это взаимоисключающие требования.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 05 2008, 08:53 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, авг 05 2008, 19:46
Сообщения: 96
Откуда: С Урала
Свои 5 копеек вставлю - если посмотреть в моем примере от 8 августа там как раз формирование файла Excel по ячейкам без использования OLE. Как раз подходит для больших объемов данных. Надо сначала создать файл , заполнить данными, закрыть. В примере как раз в цикле FORM loaddata по ячейкам записываются значения. Можно формат задавать, границы, шрифт устанавливать защиту и тд.
Code:
PERFORM createxls    USING filename.
  CHECK   sy-subrc = 0.
  PERFORM loaddata    USING filename.
  CHECK   sy-subrc = 0.
  PERFORM set_col_width USING 2 2  col1.  " Установка ширины столбца
  PERFORM set_col_width USING 3 2  col2.
  PERFORM set_col_width USING 4 2  col3.
*  PERFORM ins_p_break USING br.          " Вставка разрыва страницы
*  br = br + col1.
*  PERFORM ins_p_break USING br.
  PERFORM closexls    USING filename.


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

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


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

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


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

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