Показать сообщение отдельно
Старый 03.10.2006, 15:59   #7  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от mmm Посмотреть сообщение
1. Не подскажите, как мне формат первой строки скопировать на остальные, что то не получаеться...
Да, вынужден признать, что замечательного excel'ного метода PasteSpecial (чтобы скопировать только формат первой строки на все остальные) я у OWC.Spreadsheet, увы, не нашёл. Совет мой имел, конечно, "чисто эксельные корни"...

Тем не менее предлагаю следующую альтернативу - развертывать формат на следующую строку в цикле по мере вывода данных, т.е.

- стираете содержимое 1-й строки (если в ней есть какие-то старые или шаблонные данные)
- копируете 1-ю строку во 2-ю (поскольку 1-я пустая, то копируется только формат)
- выводите данные в 1-ю строку
- копируете 2-ю строку в 3-ю
- выводите данные в 2-ю строку
- копируете 3-ю строку в 4-ю
- и т.д. до последней записи в наборе данных
- по окончании можно удалить последнюю пустую строку после последней строки данных (в случае, если была цветная заливка или бордеры, иначе - можно и не удалять)
Цитата:
Сообщение от mmm Посмотреть сообщение
2. ...пока формируется отчет, курсор мышки как бешенный мерцает...
Попробуйте победить так:

Spreadsheet.ScreenUpdating( false );
..... (выводим данные).................
Spreadsheet.ScreenUpdating( true );

(для способа 1 это, кстати, тоже актуально!)


P.S. Вопрос "на засыпку": А где и с какой целью используете именно Spreadsheet для такого сложного форматирования? Может быть, обычный Excel подойдёт?

Последний раз редактировалось Gustav; 03.10.2006 в 16:11.