我在dxDBGrid中添加一个栏位dbgDetailPluImage,这个栏位是TdxDBGridGraphicColumn类型;
这个栏位内容显示的是图片,通过下面两个事件加载图片:
procedure TCustPriceFm.dbgDetailPluImageAssignPicture(Sender: TObject;
  var Picture: TPicture);
var
  ms: TMemoryStream;
  jpegimg: TJPEGImage;
begin
  ms := TMemoryStream.Create;
  try
    TBlobField(mdDetailPluImage).SaveToStream(ms);
    if ms.Size > 10 then
    begin
      ms.Seek(0, soFromBeginning);
      jpegimg := TJPEGImage.Create;
      try
        jpegimg.LoadFromStream(ms);
        Picture.Graphic := jpegimg;
      finally
        jpegimg.Free;
      end;
    end else
      Picture.Assign(nil);
  finally
    ms.Free;
  end;
end;procedure TCustPriceFm.dbgDetailPluImageGetGraphicClass(Sender: TObject;
  Node: TdxTreeListNode; var GraphicClass: TGraphicClass);
begin
  GraphicClass := TGraphicClass(GetClass('TJPEGImage'));
end;
在程序中的显示和操作都是正常的,现在的问题是我想将这个表格的内容导出到Excel文件,使用:
dbgDetail.SaveToXLS(ExcelFileName, True);
导出的结果是这样的:
---------------------------
库存数量 商品图片 成本价格
9 (GRAPHIC) 450
0 (GRAPHIC) 1136
---------------------------
没有具体的图片,栏位中用“(GRAPHIC)”代替了,我要如何解决?dxDBGrid图片导出Excel

解决方案 »

  1.   

    这个控件应该没有导出图片的功能,应该用ole自己写
      

  2.   

    难道没人这么做,还是问题不够深!
    自问自答:
    后来我用代码打开导出的Excel表格文件,在文件中直接加上图片,处理的还不到位。
    这个方法只是我的权宜之计!
    还是希望这个问题有人能解决。