Arsip: Export fild Image dari SQLServer 2005 ke Excell

more 12 years ago
mrzie05
Dear Para Master Delphi,
Mohon masukkan dan pencerahannya tentang Coding mengeksport Data Image di SQL Server 2005 kedalam Excell dalam bentuk Gambar utuh.
Mohon masukkannya dan Terimakasih :oops:

more 12 years ago
halimanh
Di db, ada tabel 'induk' dengan column 'image' type image.
Kode dibawah akan connect ke db, ambil column image (jpg), create jpg image, copy ke clipboard, create excel app & worksheet, paste dari clipboard ke excel. Kode ini cuma ambil satu jpg image doang dan tampilkan ke excel.
procedure TForm1.btn3Click(Sender: TObject);
var
oExcel, ws : OleVariant;
clipboard : TClipboard;
jpg : TJPEGImage;
adoQry : TADOQuery;
memStream : TMemoryStream;
begin
try
adoQry := TADOQuery.Create(nil);
adoQry.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Test;Data Source=BLANK';
adoQry.SQL.Clear;
adoQry.SQL.Add('select image from induk;'); //image adalah column di database (type Image).
adoQry.Open;
clipboard := TClipboard.Create;
jpg := TJPEGImage.Create;
memStream := TMemoryStream.Create;
TBlobField(adoQry.FieldByName('image')).savetoStream(memStream);
memStream.Seek(0, soFromBeginning);
memStream.Position := 0;
jpg.LoadFromStream(memStream);
clipboard.Assign(jpg);
oExcel := CreateOleObject('excel.application');
oExcel.visible := True;
oExcel.Workbooks.add;
ws := oExcel.Worksheets.item['Sheet1'];
ws.activate;
ws.cells.item[1,3].value := 'Halo...excel nih';
ws.paste;
finally
clipboard.Free;
jpg.Free;
adoQry.Close;
adoQry.Free;
memStream.Free;
end;
end;

more 12 years ago
halimanh
di baris 34 ditambahin
ws.cells.item[2,6].select;
biar gambarnya nggak nutupin kata 'Halo...excel nih'
more 12 years ago
mrzie05
@halimanh: di baris 34 ditambahinMas @halimanh, Makasih Atass Repleynya... Saya coba dulu ya Mass.... :D :idea:biar gambarnya nggak nutupin kata 'Halo...excel nih'ws.cells.item[2,6].select;

more 12 years ago
mrzie05
@mrzie05: [quote:4db7719ad7="halimanh"]di baris 34 ditambahinMas @halimanh, ada error nih.... [Error] Unit2.pas(30): Undeclared identifier: 'TClipboard' Mohon Masukkannya....biar gambarnya nggak nutupin kata 'Halo...excel nih'[/quote:4db7719ad7] Mas @halimanh, Makasih Atass Repleynya... Saya coba dulu ya Mass.... :D :idea:ws.cells.item[2,6].select;

more 12 years ago
mrzie05
@mrzie05: Mas @halimanh, ada error nih.... [Error] Unit2.pas(30): Undeclared identifier: 'TClipboard' Mohon Masukkannya....Yg diatas Sudah Bisa, di tambahkan di : uses --> jpeg,clipbrd; Muncul baru lg : " Access violation at address 00485ED0 in Modul 'Project2.exe'. Read of address 00000258 " Kenapa ya Mas @halimanh... Maaf banyak tanya

more 12 years ago
halimanh
Pake debugger dong. Dipasang breakpoint aja (F5), jalankan program (F9), terus F8 sampe program error, kan ketauan errornya di baris berapa.

more 12 years ago
mrzie05
@halimanh: Pake debugger dong. Dipasang breakpoint aja (F5), jalankan program (F9), terus F8 sampe program error, kan ketauan errornya di baris berapa.Akhirnya bisa juga Mas Halimanh, Terimakasih Atass Supportnya... Bagi yg berminat, berikut listing Program yg dikirim oleh mass Halimah yg sudah saya modifikasi :
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls,jpeg,clipbrd,Comobj;
type
TForm1 = class(TForm)
Button1: TButton;
adoQry: TADOQuery;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
oExcel, ws : OleVariant;
clipboard : Tclipboard;
bmp : TBitmap;
jpg : TJPEGImage;
adoQry : TADOQuery;
memStream : TMemoryStream;
begin
try
adoQry := TADOQuery.Create(nil);
adoQry.ConnectionString := 'Provider=SQLOLEDB.1;Password=dilarangmasuk;Persist Security Info=True;User ID=sa;Initial Catalog=DB_KAR;Data Source=10.23.0.59';
adoQry.SQL.Clear;
adoQry.SQL.Add('select NIK,Foto from Foto where (NIK='+Label1.Caption+') or (NIK='+Label2.Caption+')' ); //image adalah column di database (type Image).
adoQry.Open;
clipboard := TClipboard.Create;
bmp := TBitmap.Create;
//jpg := TJPEGImage.Create;
memStream := TMemoryStream.Create;
TBlobField(adoQry.FieldByName('Foto')).savetoStream(memStream);
memStream.Seek(0, soFromBeginning);
memStream.Position := 0;
//jpg.LoadFromStream(memStream);
bmp.LoadFromStream(memStream);
//clipboard.Assign(jpg);
clipboard.Assign(bmp);
oExcel := CreateOleObject('excel.application');
oExcel.visible := True;
oExcel.Workbooks.add;
ws := oExcel.Worksheets.item['Sheet1'];
ws.activate;
ws.cells.item[1,3].value := 'Halo...excel nih';
ws.cells.item[2,6].select;
ws.paste;
finally
clipboard.Free;
bmp.Free;
//jpg.Free;
adoQry.Close;
adoQry.Free;
memStream.Free;
end;
end;
end.
more ...
- Pages:
- 1
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- print dbgrid
by jordan in Hal umum tentang Pascal Indonesia more 18 years ago - Gimana agar Tedit bisa menampilkan simbol Rusia/Arab???
by AarKHL in Reporting more 17 years ago - Mau tanya kk kk?
by L1QU1D_X in Tutorial & Community Project more 17 years ago - nanya koneksi mysql over internet gimana caranya yah?
by arif_amm in MySQL more 15 years ago - resize komponent
by belajaraja in Delphi.NET more 17 years ago - Pencocokkan String ( String Matching) Delphi DanMySQL ??
by daryl_sukma_gumilar in MySQL more 15 years ago - tentang quick report
by tian in Lain-lain more 16 years ago - ikut pesan kaos
by indobrainsoft in Tutorial & Community Project more 17 years ago - syntax error in from clause
by fongers in Hal umum tentang Pascal Indonesia more 14 years ago - tanya disabled tombol close
by ingusan in Hal umum tentang Pascal Indonesia more 18 years ago