在Excel表格和Word创建的表格中插入图片

1、根据给定的单元格位置和图片路径,在 Excel 工作表中插入图片,并调整图片的大小和位置。   

 _Application app;//创建一个Excel应用程序对象。
    Workbooks books; //创建一个工作簿集合对象。
    _Workbook book;   //创建一个工作簿对象。  

   _Worksheet sheet; //创建一个工作表对象。
    Range range;    //创建一个范围对象

    //get a new workbook
    books = app.GetWorkbooks();
    book = books.Add(covOptional);
    sheets = book.GetSheets();

    //get the first sheet
    sheet = sheets.GetItem(COleVariant((short)1));  

    CString imagePath = "";  

    CString picname = “test.png”;

    Pos.Format("%s", GetCellName(1, 0).c_str());   // 获取单元格名称,并将其格式化为字符串 Pos
    range = sheet.GetRange(COleVariant(Pos), COleVariant(Pos)); //- 获取指定单元格范围 range。
    range.SetNumberFormatLocal(_variant_t("@")); \\设置单元格的数字格式为文本
    imagePath = env + "\\" + picname;  \\构建图片路径 imagePath

    float averHeight = (float)range.GetHeight().dblVal/cnt;  \\计算每个图片的平均高度 averHeight,一行里插入多张图片,且是竖排,其中cnt是插入图片个数
    double height = 0;
    height = averHeight*m;    \\计算当前图片的插入高度 height,m代表第几张图片
    CShapes objshapes = sheet.GetShapes();    \\- 获取工作表中的形状集合 objshapes。
    CShape m_shape = objshapes.AddPicture(imagePath, false, true, (float)range.GetLeft().dblVal + 1, (float)range.GetTop().dblVal + height + 0.5, (float)range.GetWidth().dblVal, averHeight);

  \\在指定位置插入图片 m_shape,并设置图片的大小和位置。

 总结来说,这段代码的主要功能是根据给定的单元格位置和图片路径,在 Excel 工作表中插入图   片,并调整图片的大小和位置。

2、在 Microsoft Word 文档的指定单元格范围内插入图片

 MS_WORD_NS::Range       range;
 MS_WORD_NS::Cell            cell;

imagePath = env + "\\" + picname;   //图片路径
MS_WORD_NS::InlineShapes objInlineShapes = range.GetInlineShapes();   //获取指定范围 range 内的内嵌形状集合 objInlineShapes
 MS_WORD_NS::InlineShape objInlineShape =         objInlineShapes.AddPicture(imagePath,COleVariant((short)FALSE), COleVariant((short)TRUE), &_variant_t(cell.GetRange()));    //在指定的单元格范围 cell.GetRange() 内插入图片 objInlineShape
 objInlineShapes.ReleaseDispatch(); //释放 objInlineShapes 对象的调度接口。

总结来说,这段代码的主要功能是根据给定的图片路径,在 Microsoft Word 文档的指定单元格范围内插入图片,并释放相关资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值