如何使用 delphi 在 excel 页眉中插入图像?

How to insert an image in an excel page header using delphi?

我正在尝试弄清楚如何使用 delphi 将图像插入到 excel 页眉中。我已经看到了如何将其放入普通单元格而不是页眉。有人可以帮忙吗?谢谢

使用 excel 自动化时 object PageSetup 可以管理 excel sheet 页面 header 和页脚的多个属性.

https://msdn.microsoft.com/en-us/library/office/ff196103.aspx

在此特定问题中感兴趣的属性可能是以下对之一:

PageSetup.LeftHeader PageSetup.LeftHeaderPicture

PageSetup.CenterHeader PageSetup.CenterHeaderPicture

PageSetup.RightHeader PageSetup.RightHeaderPicture

例如,您可以使用 LeftHeader 属性 字符串来显示简单文本或图片等特殊物品,在这种情况下,您必须将代码 '&G' 分配给此 属性 用于显示图像。您可以使用 LeftHeaderPicture.FileName 属性.

指定图像文件

顺便说一句,您还可以使用其他特殊格式代码,例如“&D”代表当前日期,“&P”代表页码,“&N”代表总页数,等等。

https://msdn.microsoft.com/en-us/library/bb225426(v=office.12).aspx

管理 excel sheet header 和页脚在您需要显示页码、总页数等页面级别信息时非常有用。所有文档页面中的徽标或文档标题。处理正常的 sheet 细胞不会给您带来相同的结果。

简单delphi示例:

var Excel: Variant;
    Sheet: OleVariant;
    filename: String;
...

Excel:=CreateOleObject('Excel.application');
Excel.Visible:=False;
Excel.WorkBooks.Add(-4167);

Sheet:=Excel.ActiveSheet;

Sheet.PageSetup.RightHeader:='my document title';
Sheet.PageSetup.LeftFooter:='my footer message';
Sheet.PageSetup.CenterFooter:='&D';
Sheet.PageSetup.RightFooter:='&P/&N';

filename:=ExtractFilePath(Application.ExeName)+'\logo.bmp';

if FileExists(filename) then begin
  Sheet.PageSetup.LeftHeader:='&G';
  Sheet.PageSetup.LeftHeaderPicture.FileName:=filename;
end;

Sheet.Cells[1,1].Value:='example of page header and page footer handling of an excel sheet...';

Excel.Visible:=True;