Excel Interop:格式化页脚

时间:2009-06-30 15:46:10

标签: excel interop format footer

我正在使用Microsoft.Office.Interop.Excel从C#创建Excel工作表,但我无法按照用户想要的方式获取页脚。

1)如何将页脚文本置于BOLD中? 2)如何将页码放在页脚中? (将@“Page @ [Page]”作为文本放入不起作用。)

可能?不可能?

4 个答案:

答案 0 :(得分:10)

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

  • & P - 当前页码。
  • & N - 总页数。
  • & B - 使用粗体*。
  • & I - 使用斜体字体*。
  • & U - 使用下划线字体*。
  • &安培;&安培; - '&'字符。
  • & D - 当前日期。
  • & T - 当前时间。
  • & F - 工作簿名称。
  • & A - 工作表名称。
  • &“FontName” - 使用指定的字体名称*。
  • & N - 使用指定的字体大小*。

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

答案 1 :(得分:7)

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

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

提示 - 打开Excel并通过UI设置所需的页脚,记录您所执行操作的宏。然后打开VBA编辑器。生成的VBA将为您提供有关如何通过API实现相同功能的线索。在自动化Excel时,可以在许多场景中使用此技巧。

答案 2 :(得分:1)

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

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

给出:

BOLDITALIC BOLD 正常

答案 3 :(得分:0)

在元级别上,您可以通过录制宏并查看其功能来找到此类内容。例如,要进行此设置,我记录了宏并将其解决了:

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

录制的宏有很多垃圾但我们可以看到( Et.Voila )Excel如何做到这一点。从这一点可以弄清楚如何自己做。