How to get the Excel header on each print page to be the first row of the table

I need the first row in an Excel spreadsheet to print as the header on all pages.


Go to file->Page Setup and choose the sheet tab. There is an option 'rows to repeat at top'.

Here is a step by step description of how to add header rows.

  • Start by selecting the page layout tab and then open the Page Layout dialog box.
  • On the Sheet tab of the Page Setup dialog box, click on the rows to repeat at top.
  • Clicking on the row you want to appear at the top of each page will populate the Page Setup – Rows to repeat at top dialog box. When done return to the Page Setup dialog box by hitting the enter key.
  • Select the OK button to complete the setup.
  • Now whenever you print preview or print your worksheet, the row you selected will be repeated at the top of each page.

also programatically (at least in c#) it's to the effect of:

[excel sheet].PageSetup.PrintTitleRows = "$[firstrow]$[lastrow]";

I would expect other languages to handle it similarly though, being that it's a com interface.

The old-fashioned way to do it is to define the name "Print_Titles" to be the rows you want printed at the top. Select the rows you want as a header, click in the text-edit box to the left of the formula bar, type "Print_Titles" and hit Enter. Defining the name via the "Define Names" dialog or programatically works fine too, but I don't know where they hid the dialog box in the 2007 UI...

In MS Excel 2007, go over to the Page Layout tab, the first section of that tab is titled "Themes", the second section is titles "Page Setup" the last option there is "Print Title" click it.

A dialog box will appear, simple click on the left column number 1 or your title line and the formula will auto fill. You have selected it and now "print".

The problem is the missing colon(:) between rows to repeat at top. You can even try this by viewing it as you set it manually within Excel(any version)

Excel.Application xlApp ;
Excel.Workbook xlWorkBook ;
Excel.Worksheet xlWorkSheet ;
object misValue = System.Reflection.Missing.Value;

xlApp = new Excel.Application(); //Start Excel and get Application object.
xlApp.Visible = true;
xlWorkBook = (Excel.Workbook)(xlApp.Workbooks.Add(misValue));
xlWorkSheet = (Excel.Worksheet)xlWorkBook.ActiveSheet;
xlWorkSheet.PageSetup.PrintTitleRows = "$1:$1"; // Rows to repeat at top of Excel Page Setup
xlWorkSheet.PageSetup.PrintTitleColumns = "$A:$B"; // Columns to repeat at left of Excel Page Setup

Category: microsoft excel Time: 2009-02-20 Views: 1

Related post

iOS development

Android development

Python development

JAVA development

Development language

PHP development

Ruby development


Front-end development


development tools

Open Platform

Javascript development

.NET development

cloud computing


Copyright (C), All Rights Reserved.

processed in 7.324 (s). 13 q(s)