Me acaba de pasar a estar trabajando en código donde ya lo hago esto en Excel desde C# ... Este es parcial, y le ayudará a empezar ...
Microsoft.Office.Interop.Excel.Application excelapp = new Microsoft.Office.Interop.Excel.Application();
excelapp.Visible = true;
Microsoft.Office.Interop.Excel._Workbook book = (Microsoft.Office.Interop.Excel._Workbook)excelapp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); ;
Microsoft.Office.Interop.Excel._Worksheet sheet = (Microsoft.Office.Interop.Excel._Worksheet)book.ActiveSheet;
sheet.get_Range("A1", "N999").Font.Size = "8";
sheet.PageSetup.PaperSize = Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperLegal;
sheet.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;
sheet.PageSetup.PrintTitleRows = "$3:$5";
sheet.PageSetup.PrintTitleColumns = "$A:$B";
Hay más de código que hay de lo que necesita para esta tarea específica, pero las líneas relevantes para tener un encabezado (o algo que se repite en la parte superior de cada página) son:
sheet.PageSetup.PrintTitleRows = "$3:$5";
sheet.PageSetup.PrintTitleColumns = "$A:$B";
Editar - se ha añadido
Aquí hay un enlace a la documentación de MSDN, para todas sus necesidades de Office Interop.
http://msdn.microsoft.com/en-us/library/bb209015(office.12).aspx
¡Genial! No sabía cómo hacerlo en Word, pero eso es porque nunca tuve que hacerlo. Estoy marcando esta página para su respuesta, porque sé que la necesitaré más adelante. +1. – David