Excel Interop:格式化页脚

我正在使用Microsoft.Office.Interop.Excel从C#创build一个Excel工作表,而且我还没有能够按照用户需要的方式获取页脚。

1)我怎样才能把脚注文字大胆? 2)如何将页码放在页脚中? (把文本中的@页面@ [页面]放在文本中不起作用)。

可能? 不可能?

1) worksheet.PageSetup.LeftFooter = "&B Bold text &B"

2) worksheet.PageSetup.CenterFooter = "Page &P"

提示 – 打开Excel并通过UI设置所需的页脚,logging所采取的操作的macros。 然后打开VBA编辑器。 生成的VBA将为您提供有关如何通过API实现相同function的线索。 当自动化Excel时,这个技巧可以用在很多场景中。

以下代码来自SpreadsheetGear for .NET帮助,并与Excel兼容:

  • &P – 当前页码。
  • &N – 总页数。
  • &B – 使用粗体字体*。
  • &我 – 使用斜体字体*。
  • &U – 使用下划线字体*。
  • && – 人物。
  • &D – 当前date。
  • &T – 当前时间。
  • &F – 工作簿名称。
  • &A – 工作表名称。
  • &“FontName” – 使用指定的字体名称*。
  • &N – 使用指定的字体大小*。

* SpreadsheetGear的打印引擎会忽略任何文本或非字体代码后出现的字体代码。

在meta层面上,你可以通过录制一个macros来查看它的function。 例如,为了做到这一点,我logging了macros,并得出了这个结论:

 Sub Macro1() ' ' Macro1 Macro ' Macro recorded 30/06/2009 by bloggsj ' ' With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" End With ActiveSheet.PageSetup.PrintArea = "" With ActiveSheet.PageSetup .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "&""Arial,Bold""Page &P of &N" '<== Et. Voila! .RightFooter = "" .LeftMargin = Application.InchesToPoints(0.75) .RightMargin = Application.InchesToPoints(0.75) .TopMargin = Application.InchesToPoints(1) .BottomMargin = Application.InchesToPoints(1) .HeaderMargin = Application.InchesToPoints(0.5) .FooterMargin = Application.InchesToPoints(0.5) .PrintHeadings = False .PrintGridlines = False .PrintComments = xlPrintNoComments .PrintQuality = 600 .CenterHorizontally = False .CenterVertically = False .Orientation = xlPortrait .Draft = False .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = 100 .PrintErrors = xlPrintErrorsDisplayed End With End Sub 

录制的macros有很多垃圾,但我们可以看到( Et。Voila )Excel如何做。 从这个人可以弄清楚如何做到这一点。

没有看到这个提到; &B&I和类似的代码也可以被closures,类似于html代码。 例如:

 PageSetup.LeftHeader = "&B&IBOLDITALIC&I BOLD&B NORMAL"; 

得到:

BOLDITALIC BOLD NORMAL