public void Write(ISpreadsheetWriter spreadsheetWriter) { spreadsheetWriter.CurrentPosition = StartPoint; IOrderedEnumerable <Student> orderedStudents = Students .OrderBy(x => x.LastName.Value); foreach (Student student in orderedStudents) { var nameBuilder = new StringBuilder(student.FirstName.Value); if (student.Infix != null) { nameBuilder.Append(' '); nameBuilder.Append(student.Infix); } nameBuilder.Append(' '); nameBuilder.Append(student.LastName.Value); spreadsheetWriter .SetTextRotation(40) .SetBorder(BorderStyle.Thin, BorderDirection.Bottom, Color.Black) .SetHorizontalAlignment(HorizontalAlignment.Center) .Write(nameBuilder.ToString()) .ResetStyling(); for (int i = 0; i < _lastQuestionRow; i++) { spreadsheetWriter .MoveDown() .SetHorizontalAlignment(HorizontalAlignment.Center) .Write(string.Empty); } spreadsheetWriter.CurrentPosition = new Point(spreadsheetWriter.CurrentPosition.X + 1, StartPoint.Y); } MostOuterColumn = spreadsheetWriter.CurrentPosition.X; }