2个回答
展开全部
图像插入EXCEL你应该知道了
那我就告诉你怎么从数据库读出图片数据吧,主要是数据流的形式。
我贴一部分代码 我是DELPHI7+ORACLE,可以成功运行
先做点说明,
ADOTable_main是TADOTABLE控件,连接上数据库某一个表
当移动记录的时候,在Timage中显示对应的图片,以下是在ADOTable_mainAfterScroll事件中写入。
procedure TFrm_base_cup_line.ADOTable_mainAfterScroll(DataSet: TDataSet);
var
jpg:TJPEGImage;
myStream:TmemoryStream;
begin
if (TBlobField(adotable_main.FieldByName('line_sample')).BlobSize>0) then
begin
try
jpg:=TJPEGImage.Create;
myStream:=TMemoryStream.Create;
TBlobField(adotable_main.FieldByName('line_sample')).SaveToStream(myStream);
myStream.Position:=0;
jpg.LoadFromStream(myStream);
image1.Picture.Assign(jpg);
finally
jpg.Free;
myStream.Free;
end;
end;
selquery(query_qt,'select shape_name from joint.base_cup_shape'
+' where shape_id='''+adoTable_main.fieldByName('shape_id').AsString+'''');
end;
那我就告诉你怎么从数据库读出图片数据吧,主要是数据流的形式。
我贴一部分代码 我是DELPHI7+ORACLE,可以成功运行
先做点说明,
ADOTable_main是TADOTABLE控件,连接上数据库某一个表
当移动记录的时候,在Timage中显示对应的图片,以下是在ADOTable_mainAfterScroll事件中写入。
procedure TFrm_base_cup_line.ADOTable_mainAfterScroll(DataSet: TDataSet);
var
jpg:TJPEGImage;
myStream:TmemoryStream;
begin
if (TBlobField(adotable_main.FieldByName('line_sample')).BlobSize>0) then
begin
try
jpg:=TJPEGImage.Create;
myStream:=TMemoryStream.Create;
TBlobField(adotable_main.FieldByName('line_sample')).SaveToStream(myStream);
myStream.Position:=0;
jpg.LoadFromStream(myStream);
image1.Picture.Assign(jpg);
finally
jpg.Free;
myStream.Free;
end;
end;
selquery(query_qt,'select shape_name from joint.base_cup_shape'
+' where shape_id='''+adoTable_main.fieldByName('shape_id').AsString+'''');
end;
追问
直接从dbgrideh或adoquery查询出来再直接导出来,可以否。不用再经图像转换。
推荐于2016-07-04 · 知道合伙人软件行家
关注
展开全部
uses ComObj;
procedure TForm1.Button1Click(Sender: TObject);
Var FExcel :OleVariant; //excel应用程序
FWorkBook :OleVariant; //工作表
FWorksheet:OleVariant; //工作薄
FPicture:OleVariant;
TmpStr:String;
begin
FExcel:= CreateoleObject('excel.Application');
FWorkBook:=FExcel.WorkBooks.Add; //新的工作表
FWorksheet:=FWorkBook.Worksheets[1];
FWorksheet.Select;
//插入图象并设置位置与大小
tmpstr:='f:\1.jpg';
FPicture:=FWorksheet.Pictures.Insert(tmpstr);
FPicture.Left:=10;
FPicture.Top:=10;
FPicture.width:=200;
FPicture.height:=200;
FPicture:=null;
FExcel.visible:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var FExcel :OleVariant; //excel应用程序
FWorkBook :OleVariant; //工作表
FWorksheet:OleVariant; //工作薄
FPicture:OleVariant;
TmpStr:String;
begin
FExcel:= CreateoleObject('excel.Application');
FWorkBook:=FExcel.WorkBooks.Add; //新的工作表
FWorksheet:=FWorkBook.Worksheets[1];
FWorksheet.Select;
//插入图象并设置位置与大小
tmpstr:='f:\1.jpg';
FPicture:=FWorksheet.Pictures.Insert(tmpstr);
FPicture.Left:=10;
FPicture.Top:=10;
FPicture.width:=200;
FPicture.height:=200;
FPicture:=null;
FExcel.visible:=true;
end;
追问
要求是从数据库中导入
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |