2009-06-30 6 views
3

Я создаю рабочий лист Excel из C#, используя Microsoft.Office.Interop.Excel, и я не смог получить нижние колонтитулы так, как хочет их пользователь.Excel Interop: форматирование нижних колонтитулов

1) Как добавить текст нижнего колонтитула в BOLD? 2) Как я могу поместить номер страницы в нижний колонтитул? (Ввод @ "Страница @ [Страница]" в тексте не работает.)

Возможно? Невозможно?

ответ

6

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

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

Подсказка - открыть Excel и настроить колонтитул вам требуется через пользовательский интерфейс, запись макросов действий, которые вы принимаете. Затем откройте редактор VBA. Сгенерированный VBA даст вам подсказку о том, как получить то же самое через API. Этот трюк можно использовать во множестве сценариев при автоматизации Excel.

+0

работает отлично. Кажется, что «После & B» не требуется, в соответствии с ответом Концерна. Спасибо, парни. – SeaDrive

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 это делает. Из этого можно понять, как это сделать сам.

8

следующие коды из SpreadsheetGear для .NET помощи и совместимы с Excel:

  • & P - номер текущей страницы.
  • & N - общее количество страниц.
  • & B - шрифт жирным шрифтом *.
  • & I - используйте курсив шрифта *.
  • & U - используйте подчеркивание шрифта *.
  • & & - знак '&'.
  • & D - текущая дата.
  • & T - текущее время.
  • & F - рабочая тетрадь name.
  • & A - имя рабочего листа.
  • & "FontName" - используйте указанное имя шрифта *.
  • & N - использовать указанный размер шрифта *.

* Коды шрифтов, появляющиеся после любых текстовых или нештатных кодов, будут игнорироваться механизмом печати SpreadsheetGear.

+0

Спасибо. Я хотел знать о & T и & D! – RichardOD

+0

, но вы должны сказать, что другие стороны, он следующие коды из «Excel» и совместимы с SpreadsheetGear для .NET. – VibeeshanRC

0

Не видел этого; & B & I и подобные коды также могут быть отключены, подобно html-кодам.Пример:

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

дает:

BoldItalicBOLD NORMAL

Смежные вопросы