Текущее время: Пн, июл 21 2025, 03:51

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


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

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


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

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