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

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

19.05.2010, 16:07. Показов 4959. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru