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

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

可能的?不可能?

有帮助吗?

解决方案

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

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

一个尖端 - 开放Excel和设置你经由UI所需要的页脚,记录您采取的动作的一个宏。然后打开VBA编辑器。生成的VBA会给你如何通过API acheive同样的事情的线索。这招可以在很多场合下使用自动化Excel时。

其他提示

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

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

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

没有看到这提及;所述&B&I和类似的代码也可被关闭,类似于HTML代码。例如:

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

给出:

BOLDITALIC 粗体正常

在元级别,您可以通过从录制宏,看到它做什么发现这样的事情。例如,要做到这一点成立,我录制宏,并得到了这一点:

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。瞧的)Excel中是如何做的。从这个人能弄清楚如何做到这一点onesself。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top