C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Picture to Excel
olegenty
Отправлено: 18.05.2004, 12:58


Ветеран

Группа: Модератор
Сообщений: 2412



Сижу туплю. Воспользовался примерам с Excel, данные льются из базы на ура, одна беда, никак не могу придумать, как картинки туде передать?
Valdemar
Отправлено: 19.05.2004, 07:43


Мастер участка

Группа: Участник
Сообщений: 433



Я делал вставку картинок в документ Word через буфер обмена. Думаю, что с Excel можно поступить так же.
Возможно, есть и другое решение.
MDM
Отправлено: 31.05.2004, 10:04


Не зарегистрирован







QUOTE (olegenty @ 18/05/2004, 14:00)
Сижу туплю. Воспользовался примерам с Excel, данные льются из базы на ура, одна беда, никак не могу придумать, как картинки туде передать?

//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant XL, v0, v1;
XL = CreateOleObject("Excel.Application.8");
XL.OlePropertySet("Visible", CheckBox1->Checked);
v0 = XL.OlePropertyGet("Workbooks");
v0.OleProcedure("Add");
v1 = v0.OlePropertyGet("Item", 1).OlePropertyGet("Worksheets").OlePropertyGet("Item", 1);

//tm1 = Time();

//в Clipboard...
DBImage1->CopyToClipboard(); /*- можно так, а
если у тебя нет TDBImage, то открывай TBlobStraem...*/

v1.OlePropertyGet("Range", "A1:A1").OleProcedure("Select");
v1.OleProcedure("Paste");

Clipboard()->Clear();

//tm2 = Time();
//ShowMessage("Done with " + TimeToStr(tm2 — tm1));


XL.OlePropertySet("DisplayAlerts",false);
XL.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs", ChangeFileExt(Application->ExeName, ".xls"));
XL.OleProcedure("Quit");
}
//---------------------------------------------------------------------------

Вернуться в Работа с базами данных в C++Builder