转。。原理同样支持 delphi

我用C#导出excel 带图片,用office2003 正常,但换成office 2007 时,我指定多个单元格分别插入图片,这个图片不在此单元格内,这些图片全都集中在一起,在一个位置上。很奇怪,看起来也不是某个单元格
我导出图片的方法如下:
  ///
        /// 将图片插入到指定的单元格位置。
        /// 注意:图片必须是绝对物理路径
        ///
        /// 单元格名称,例如:B4
        /// 要插入图片的绝对路径。
        public void InsertPicture(string RangeName, string PicturePath)
        {
            m_objRange = m_objSheet.get_Range(RangeName, m_objOpt);
            m_objRange.Select();
            Excel.Pictures pics = (Excel.Pictures)m_objSheet.Pictures(m_objOpt);
            pics.Insert(PicturePath, m_objOpt);
        }

解决方法是

Excel.Pictures pics=(Excel.Pictures)worksheet.Pictures(Type.Missing);//建立图片集合对象

int TD=1;
 int p=1;
Range range_1 =range=worksheet.get_Range(‘A‘+TD.ToString(),‘A‘+TD.ToString());
     //获取填充单元格范围
      for 循环

{    
      pics.Insert(picPath,Type.Missing);//获取图片

Excel.Picture pic = (Excel.Picture )pics.Item(p);//建立图片集合某一图片对象

pic.Left = (double)range_1.Left;
       pic.Top = (double)range_1.Top;
       pic.Height =(double)range_1.Height;
       pic.Width =(double)range_1.Width;
       TD=TD+1;
       p=p+1;

}

关键在于pics一定要在多个图片循环插入的外面,同时要给每一张图片的left ,top 附成插入单元格的left top

这样在2007中,才能把图片插入到指定位置

时间: 2024-10-22 14:53:11

转。。原理同样支持 delphi的相关文章

最新的支持DELPHI XE6的开发框架

支持负载均衡集群的中间件 主界面 插件管理 角色与权限 用户与权限 最新的支持DELPHI XE6的开发框架

最新的支持DELPHI XE7的多层插件式开发框架

DATASNAP中间件: 中间件已经在好几个实际项目中应用,长时间运行异常稳定,可无人值守: 可编译环境:DELPHI XE5~DELPHI XE7,无需变动代码: 支持传统TCP/IP方式也支持REST: 传统TCP/IP客户端支持长连接也支持短连接: 数据库连接对象,中间件服务对象,数据集对象等对象全部采用对象池处理: 支持负载均衡集群,有代理服务器专门处理客户端的连接申请,客户端并发处理不再是问题: 详尽的日志记录,异常情况方便查询: 客户端插件框架: 所有模块都是以BPL包的形式存在,每

delphi 各新版本特性收集

delphi 各新版本特性收集 Delphi XE6新增了一些特性并增强了原有的功能,主要有以下几个方面: IDE(整合开发环境) Internet XML(扩展标记语言) Compiler(编译器) COM/Active X Database support(数据库支持) CORBA Actions(动作) Custom Variants(可定义的可变类型) VCL 单元和特性 RTL单元和特性 Cross-platform development(跨平台开发) Translation too

PowerBuilder 简介及应用 - 数据库系统原理

PowerBuilder 是一种企业级数据库前端应用和多层体系结构开发工具,友好的用户界面,功能强大的数据窗口,是一个集成开发环境. PB 的特点 采用面向对象的编程方法和事件驱动的工作原理. 支持跨平台开发,具有开放的数据库连接系统. 无须记住各种语句格式即可轻松编写语句,PB 提供了几乎所有常用的编程语句模版,可以轻松快速插入各种语句. 人性化设计,为用户提供方便快捷的语句块剪切板工具,大大提高了程序员的编程效率. 独特的库文件画板和层次清晰的系统资源树. 系统提供 11 种不同"显示风格&

delphi 数据库技术沉浮录--谨给成为历史的BDE

2014年9月,delphi xe7 出来了,这次在数据库技术方面,彻底抛掉了从1995 年 delphi 1.0 就自带的(Borland Database Engine)数据库访问技术.从而宣告了这个持续 了20余年delphi 访问数据库技术进入历史. 纵观delphi 数据库技术的20年发展史,其实也是delphi 的发展史.通过数据库技术的 变化,也可以了解delphi的发展历史及未来的方向. 一. 话说当初 Delphi 1.0 是16 位的编译器,当时的互联网几乎是不存在,拿到的第

delphi remobjects

概述:RemObjects SDK是一个先进的远程框架,允许你通过网络远程地访问驻留在服务器上的对象.RemObjects SDK允许你开发客户/服务应用程序,利用高优化性能的Smart Services或跨平台兼容性的标准Web Services,使客户端和服务器端轻松高效的通讯. 高亮特征 强大的远程框架为客户端和服务器间有效通讯提供广泛的选项,跨越各种质量的网络(从本地局域网到低可靠的广域无线网络)和不同的平台. 整个通讯策略的不同选择(网络服务器和客户端,消息格式,会话数据存储和其他关键

RemObjects SDK Source For Delphi XE7

根据网上RemObjects SDK for Delphi - 7.0.63.1055 retail FullSource源码版本修改支持Delphi XE7. 原文:http://blog.csdn.net/tht2009/article/details/39545545 1.目前官网最新版本是RemObjects SDK for Delphi and all Clients - 8.1.85.1141 - Trial.exe(30天试用),需购买注册才有源码. 原文:http://blog.

Delphi 7事件的多处理机制

Delphi 7事件的多处理机制Allen Tao2007-08-19 首先解释一下这个题目.在我使用Delphi 7的过程中发现,一个对象的事件只能被一个过程处理.如果多次给这个对象的事件赋给处理事件的过程,最后真正处理事件的将是最后赋值的那个过程.例如,有类TMyClass中定义了一个事件OnSomeFired,在类TClientClass中该类被实例化,它的事件被处理.如下所示:constructor TClientClass.Create;var  myObj: TMyClass;beg

Redis 复制原理及分析

1.测试 见master-slave测试帖 2 原理 第一次.Slave向Master同步的实现是: Slave向Master发出同步请求(发送sync命令),Master先dump出rdb文件,然后将rdb文件全量传输给slave,然后Master把缓存的写命令转发给Slave,初次同步完成.第二次.以及以后的同步实现是:        Master将变量的快照直接实时依次发送给各个Slave.        但不管什么原因导致Slave和Master断开重连都会重复以上两个步骤的过程.