C#将图像包含在Excel文件中的智能方法

本文关键字:智能 方法 文件 Excel 图像 包含 | 更新日期: 2023-09-27 18:32:58

我正在寻找一种聪明的方法,使用 Office.Interop.Excel 将图像包含在 Excel 文件中。基本上,我想生成一个报表,我的一列包含图像。

面临两个问题:首先,除非将临时副本保存到高清中(我的图像来自存储在数据库中的字节数组),否则我找不到添加图像,然后我无法将图片本身添加到单元格中,我必须计算我的工作表上的确切位置,这并不真正有效。

这是我的代码

using (MemoryStream stream = new MemoryStream(ByteArrayImage))
{
    Image image = Image.FromStream(stream);
    image.Save(directory + "''Excel''Temp''image.png", ImageFormat.Png);
    xlWorkSheet.Shapes.AddPicture(directory + "''Excel''Temp''image.png",
                 MsoTriState.msoFalse,MsoTriState.msoTrue,580, cumulHeight, 
                 image.Size.Width, image.Size.Height);
    cumulHeight += image.Size.Height + 10;
    SetRowHeight(xlWorkSheet, i + 2, image.Size.Height + 10);
}

有什么想法吗?

谢谢你们

C#将图像包含在Excel文件中的智能方法

即使我在几周前也遇到了同样的问题。我通过将图像绑定到网格视图来解决问题。唯一的缺点是图像将在左上角具有网格视图列的名称。如果你愿意,我可以为你提供代码。虽然对于我的技术,你不需要office.interop.excel。