Текущее время: Вс, июл 13 2025, 09:59

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: форматирование ячеек в Excel програмным путем
СообщениеДобавлено: Пн, июл 17 2006, 09:26 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 18 2005, 08:24
Сообщения: 94
Откуда: Санкт-Петербург
Пол: Женский
Вопрос по выгрузке данных в шаблон Excel. Выгружаю таблицу с данными и нужно, чтобы некоторые ячейки из одного столбца были жирными, некоторые - обыкновенным шрифтом. Заранее угадать - какая ячейка должна быть BOLD, а какая нет - невозможно.
Как вообще задать программно ячейке (или строке) определенные свойства (шрифт, цвет, размер)?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: форматирование ячеек в Excel програмным путем
СообщениеДобавлено: Пн, июл 17 2006, 10:14 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
AnnaEremenko написала:
Как вообще задать программно ячейке (или строке) определенные свойства (шрифт, цвет, размер)?

Вам наверно лучше заглянуть сюда, сюда и сюда :D
Удачи!

_________________
/nex


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

Зарегистрирован:
Пн, апр 18 2005, 08:24
Сообщения: 94
Откуда: Санкт-Петербург
Пол: Женский
Спасибо, конечно, Bully, но то, что я там увидела никак не связано с ABAPом :( И мне стало обидно, т.к. я писала вроде бы абаперам, соответственно и помощь мне нужна с АБАПом, а не с майкрософтом :(
А теперь расшифровываю свой вопрос, если с первого раза было что-то не понятно:
когда я делаю в программе
Code:
  CALL METHOD rfc_excel->rfi_sheet->insert_range_dim
    EXPORTING
      name    = 'Текущая'
      top     = 23
      left    = 1
      rows    = n_rows
      columns = n_cols.

  CALL METHOD rfc_excel->rfi_sheet->insert_one_table
    EXPORTING
      rangename    = 'Текущая'
      data_table   = itab[]
      fields_table = t_fields
      no_flush     = 'X'
      wholetable   = 'X'.

какой ФМ использовать для того, чтобы можно было в шаблоне документа BDS форматировать ячейки.
Есть отчет: "Штатное расписание", у него есть столбец "Структруное подразделение -> "Наименование". Так вот, некоторые наименования (цех или отдел) должны быть жирным шрифтом, некоторые (группа или склад) обычным шрифтом и все это в одном столбце.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 17 2006, 11:24 
Модератор
Модератор

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
Вам надо не ФМ а ОЛЕ использовать а это какраз на MSDN :)


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

Зарегистрирован:
Пн, апр 18 2005, 08:24
Сообщения: 94
Откуда: Санкт-Петербург
Пол: Женский
т.е., если я заполняю шаблон при помощи DOI - этого никак не добиться?
ну вот, а я по-другому не умею пока... и рассказать некому...


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

Зарегистрирован:
Вт, ноя 08 2005, 09:49
Сообщения: 102
Откуда: Тундра
Если использовать ОЛЕ2, то можно так сделать:
Code:
....
*////////Заголовки столбцов

      call method  of wsheet 'Cells' = cell
                              exporting #1 = 1 #2 = 1.
      set property of cell 'Numberformat'  = '@'.
      set property of cell 'Value' = '№ ОС'.
      perform font using 1 '11'. "<<< отсюда вызов про шрифт
      free object cell.
......

form font using bold size.
call method  of cell 'FONT' = font.
set property of font 'BOLD' = bold.
set property of font 'SIZE' = size.
free object font.
endform.
....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: re
СообщениеДобавлено: Пн, июл 17 2006, 11:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
Можно вы-DOI-ть ole2 из oi_document:
Code:
type-pools: ole2, cntl.
data:
  h_xl type ole2_object,  " Excel.Application
  h_as type ole2_object, " .ActiveSheet
  h_sel type ole2_object, " .Selection
  h_cells type ole2_object, " .Cells
  h_t type ole2_object. " junk

data handle type cntl_handle.
call method i_document->get_document_handle
  importing handle = handle.
h_t = handle-obj.
get property of h_t 'Application' = h_xl.

" Excel.Application.ActiveSheet
get property of h_xl 'ActiveSheet' = h_as no flush.

call method of h_as 'Cells' = h_cells. " no flush.
%xl_error sheet-cells.

.....
cl_gui_cfw=>flush( ).


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

Зарегистрирован:
Пн, апр 18 2005, 08:24
Сообщения: 94
Откуда: Санкт-Петербург
Пол: Женский
про OLE мне бесполезно говорить - я все равно ничего не понимаю.
Нашла программку, которую сделал приезжий программист, вроде все понятно (в смысле что и где изменить, чтобы использовать для себя)(используется OLE), но есть один вопрос: там обязательно, чтобы файл xls существовал на HDD, или его можно самой создавать?
В программе используется жесткий путь к уже существующему файлу.


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

Зарегистрирован:
Вт, ноя 08 2005, 09:49
Сообщения: 102
Откуда: Тундра
AnnaEremenko написала:
...но есть один вопрос: там обязательно, чтобы файл xls существовал на HDD, или его можно самой создавать?

"Там", - это где? Если в ОЛЕ, то не обязательно. Файл создается самим Экселем или открывается уже существующий. Смотря какой метод Экселя использовать. :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 17 2006, 12:10 
Модератор
Модератор

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
Также можно сделать макросик на VB и из DOI его вызвать используя
метод - execute_macro


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 17 2006, 12:45 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
методы SET_FORMAT & SET_FORMAT_STRING & SET_RANGES_FORMAT.

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 17 2006, 13:40 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
А может, лучше шаблон в BDS сохранить и не мучиться с форматированием вручную?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 17 2006, 13:44 
Гость
Еще вариант: 1. Создать стили в шаблоне
2. Применить метод SET_STYLE


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 18 2006, 05:17 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 18 2005, 08:24
Сообщения: 94
Откуда: Санкт-Петербург
Пол: Женский
Буду пробовать как trop выше сказал: объединять DOI и OLE...


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

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


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

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


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

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