Вывод картинки из базы данных в Excel
От: anpis Россия  
Дата: 04.06.10 06:51
Оценка:
Есть скрипт в Excel фрпмирующий отчет из базы данных (MS SQL Server 2000).
Мне нужно его доработать, чтобы показывал картинку из той же базы.
Картинки содержатся в бинарном поле таблицы и извлекаются SQL-запросом.
Не могу найти компонента для VBA или способа извлечения и отображения картинкииз бинарного поля таблицы.
Имеющийся компонент MS Image вроде бы не содержит методов общения с источниками данных.
Какие могут быть решения?
Re: Вывод картинки из базы данных в Excel
От: Бенедикт  
Дата: 04.06.10 12:35
Оценка:
A>Какие могут быть решения?

Можно извлечь значение длинного двоичного поля в байтовый массив, сохранить в (временный) файл и вставить на лист (я так понимаю, что раз речь об отчёте, то на лист) через ActiveSheet.Pictures.Insert(путь). Но это если позволяется условиями задачи иметь хотя бы один временный файл.

Ещё один способ, без временных файлов, состоит именно в создании Forms.Image, я прикладываю пример (где Image ещё конвертируется в статический объект для уменьшения размера файла отчёта), но он, скажем так, работает менее надёжно.

Ещё один способ мог бы состоять в вставке картинки через буфер обмена, но, ИМХО, это некрасивый способ.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.