public void Write(ISpreadsheetWriter spreadsheetWriter) { spreadsheetWriter.CurrentPosition = StartPosition; spreadsheetWriter .SetFontBold(true) .SetBorder(BorderStyle.Double, BorderDirection.Bottom, Color.Black) .Write("Cijfer") .SetFontBold(false); int columnsBetweenFirstPoint = ScoresStartColumn - spreadsheetWriter.CurrentPosition.X; for (int i = 0; i < columnsBetweenFirstPoint; i++) { spreadsheetWriter.MoveRight(); spreadsheetWriter.Write(string.Empty); } ICellRange maximumScoreCell = spreadsheetWriter.GetCellRange(MaximumScorePosition); ICellRange standardizationFactorCell = spreadsheetWriter.GetCellRange(StandardizationFactorPosition); ICellRange minimumGradeCell = spreadsheetWriter.GetCellRange(MinimumGradePosition); const int maximumPointsColumn = 1; int numberOfScoreColumns = NumberOfStudents + maximumPointsColumn; spreadsheetWriter.SetFormat("0.0"); for (int columnIndex = 0; columnIndex < numberOfScoreColumns; columnIndex++) { var achievedScorePosition = new Point(spreadsheetWriter.CurrentPosition.X, AchievedScoresRow); ICellRange achievedScoreCell = spreadsheetWriter.GetCellRange(achievedScorePosition); spreadsheetWriter .PlaceLessThanRule(5.5, Color.Red) .PlaceCustomFormula(SetupGradeFormula(achievedScoreCell, maximumScoreCell, standardizationFactorCell, minimumGradeCell)) .MoveRight(); } spreadsheetWriter.ResetStyling(); }