![]() |
#10 |
Administrator
|
Цитата:
Собственно - стояла такая же задача. Что делал: а) Воспользовался семейством классов SysExcelApplication* чтобы не заморачиваться между 2007-м и 2003-м офисом. б) Использовал шаблон, в который вставлял данные. Ориентировался на ширину ячеек, заданную в шаблоне. в) Ячейки заполнял как обычно - циклом - т.е. безо всяких там массивов и буферов обмена. г) Картинки брал из аттачей. Там штатный код распаковывает во временную папку файл. Что удобно - этот код сразу анализирует как хранится файл. Т.е. немного понадергав строчек кода - получил путь к файлу (постоянному или временно распакованному) д) Через объект Picture (Excel-ный) вставлял картинку (при вставке скармливается путь к файлу) е) Получал координаты вставленной картинки. Получал координаты конкретного столбца текущей строки (т.е. текущей ячейки) ж) Через методы Picture.ShapeRange().Scale* масштабировал картинку до нужной ширины (высота автоматически изменялась) с учетом существования (и очень небольшого) предела по высоте ячейки (по ширине предел тоже существует - но я смотрел на ширину из шаблона) Собсно все... Скорость конечно не ахти... Но дождаться можно. Эффектно. Но бестолково ![]() В результате - они его уже ручками урезают (удаляя картинки) ![]()
__________________
Возможно сделать все. Вопрос времени |
|