如何获取Excel表格中的图片,并保存至本地或在Image中显示出。(200分)

  • 主题发起人 主题发起人 老阿Q
  • 开始时间 开始时间

老阿Q

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,不知道这个问题难度几何。愿出200分。
 
有搞过的上来搞搞啊
 
excel文件中,看着都是图片,其实有2种:一种真的就是图片,另外一种实际是一个chart,它的数据来源于报告中的数据表.
其实,不管是哪一种,都是可以选中复制,粘贴的.我就是这样做的.

其体做法你在VBA中录一段宏看一下,再将它转成Delphi的,保证可以成功.
 
大概是这样吧,不过如果Excel中的图片被缩小了的吧,这种方法只能取到缩小以后的,而如果是在画笔中可以取到原图, 这点搞不大懂,蛮郁闷

var
ExcelObj: Variant;
Sheet: Variant;
Bitmap: TBitmap;
begin
ExcelObj := CreateOleObject('Excel.Application');
Bitmap := TBitmap.Create;
try
ExcelObj.WorkBooks.Open(excel文件名);
Sheet := ExcelObj.WorkBooks[1].WorkSheets[1];
Sheet.Activate;
//这个是图片所在单元格范围
Sheet.Range[ExcelObj.Cells[行, 列], ExcelObj.Cells[行, 列]].Copy;

Bitmap.Assign(ClipBoard);
Bitmap.SaveToFile(文件名);
finally
Bitmap.Free;
ExcelObj.WorkBooks.Close;
ExcelObj.Quit;
end;
end;


刚才搜了一下:
http://topic.csdn.net/u/20070703/00/aaa98c58-934f-42b7-a087-a9c5bc97080e.html
用这个帖子里的方法可以取到图像
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部