Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
Gugl-Mugl

Как вставить изображение в Excel

19.05.2010, 16:07. Показов 4937. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Задача следующая. Есть шаблот в Excel (файл, в котром забиты таблицы, всякие надписы, короче незаполненный бланк документа). Его нужно заполнить. Как зополнять отдельные ячейки я разобрался. Но вот каким образом вставить в этот шаблон картинку - понятия не имею Надо чтобы в определенное место этого шаблона (отчета), вставилась картинка. Либо в определенную ячейку, либо просто по координатам...

Помогите кто чем может. Заранее благодарен. Курсовой горит, осталось совсем чуть-чуть.

Вот код моей программы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    // Excel делается видимым
    ExcelApp->set_Visible(true, true);
 
    // Создание в Excel новой книги
    TVariant Visible = false;
    TVariant t =
        Application->ExeName.SubString(1,
            Application->ExeName.LastDelimiter("\\")) +
            "Documents\\Отчет.xlt";
    ExcelApp->Workbooks->Add(t,Visible);
 
    // Соединение ExcelWb с активным документом
    ExcelWbk->ConnectTo(ExcelApp->ActiveWorkbook);
 
    // Занесение в книгу информации
    ExcelWbk->Activate(0);
 
    TVariant cell, text;
    cell = "A13";
    text = "Какой-то текст"
 
    ExcelApp->get_Range(cell, cell)->set_Value(text);
 
    // А здесь уже необходимо написать код типа: "ХЛ->Картинки->Вставить(ячейка, путь к картинке);"
Добавлено через 10 часов 10 минут
up up up

Добавлено через 17 часов 42 минуты
up up

IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2010, 16:07
Ответы с готовыми решениями:

Как изображение с компонента image1 вставить в компонент image2?
Допустим есть компоненты image1 и image2. Выполняю фильтрацию фото компонента Image1. Как изображение с компонента image1 вставить в...

FastReport, вставить изображение
В отчет необходимо вставить изображение (в базе хранится ссылка), пробую писать в коде fastreport следующее: ...

Вставить текст в изображение
Необходимо по координатам вставлять текст в изображение и отправлять на печать. Подскажите направление куда двигаться...

2
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
19.05.2010, 16:46
для ворда я делал так
C++
1
2
3
4
5
6
7
8
9
10
11
     Variant Sel = Word.OlePropertyGet("Selection");
     Variant Find = Sel.OlePropertyGet("Find");
 
     Find.OlePropertySet("Forward", true);
     Find.OlePropertySet("Text", StringToOleStr("#pic1#"));
     Find.OleProcedure("Execute");
     Sel.OleProcedure("Delete");
 
     Clipboard()->Assign(Image1->Picture->Bitmap);
     Sel.OleProcedure("Paste");
     Clipboard()->Clear();
вместо "#pic1#" вставлял изображение
возможно есть другие способы
1
Gugl-Mugl
20.05.2010, 17:03
Спасибо) Это работает!

Но знает ли кто-нибудь как это сделать с помощью компонентов ExcelApplication и ExcelWorkbook??? Препод требует сделать не через OLE, а именно через эти компоненты.

Добавлено через 1 час 49 минут
Набираю такой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    long Icid = LOCALE_SYSTEM_DEFAULT;
 
    ExcelApp->ConnectKind = ckNewInstance;
    ExcelApp->AutoQuit = true;
    ExcelApp->set_Visible(Icid, true);
    ExcelApp->AutoConnect = true;
 
    TVariant Visible = false;
    TVariant t =
        Application->ExeName.SubString(1,
            Application->ExeName.LastDelimiter("\\")) +
            "Documents\\Отчет.xls";
    ExcelApp->Workbooks->Add(t,Visible);
 
    // Присоединяю Workbook
    ExcelWbk->ConnectTo(ExcelApp->ActiveWorkbook);
 
    // Присоединяю Worksheet
    ExcelWsh->ConnectTo(ExcelApp->ActiveWorkbook->ActiveSheet);
 
 
    // Вставляю картинку
    wchar_t *path = (wchar_t *)"c:\\1.jpg";
    ExcelWsh->Shapes->AddPicture(path, msoFalse, msoTrue,
        0, 0, 200, 200);
По идее всё должно работать. Но на этой строке:
C++
1
ExcelWsh->Shapes->AddPicture(path, msoFalse, msoTrue, 0, 0, 200, 200);
вылезает ошибка жуткая (в небольшом окошке - регистры процессора, еще какая-то лабуда...). Не знаю что это(.

Если пишу:
C++
1
ExcelWsh->Shapes->AddLine(0, 0, 100, 100);
то линия рисуется без проблем. А картинка не вставляется. В чем дело, подскажите плиз??
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2010, 17:03
Помогаю со студенческими работами здесь

Вставить изображение в OpenOffice Writer, задать его размеры и расположение на листе
Добрый вечер, форумчане. Нужно вставить изображение в OpenOffice Writer, задать размеры и расположение на листе. Вставить картинку и задать...

Возможно ли вставить таблицу excel в програму ?
Можно в програму вставить таблицу, лутше лист с excel ?

Вставить изображение в ячейку Excel
Привет всем Гуру ЕКСЕЛЯ И VBA. Помогите разобратся с проблемкой! Как сделать в екселе 2007 чтоб при щелчке на ячейке А3 отрывалось...

Вставить Изображение в ячейку MS Excel скриптом
Здравствуйте, подскажите пожалуйста в какую сторону рыть и что/где почитать чтобы скриптом vbs/jscript вставить изображение(адрес имеется)...

Вставить изображение в Excel без Shapes.AddPicture?
В системе T-Flex (если кто такую знает) пишем макрос в документ Excel нужно вставить изображение в заданную ячейку. Нюанс : нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru