final StudentCurricularPlan studentCurricularPlan, final ExecutionYear executionYear) {
final Registration registration = studentCurricularPlan.getRegistration();
final Student student = registration.getStudent();
final Person person = student.getPerson();
final DegreeCurricularPlan degreeCurricularPlan = studentCurricularPlan.getDegreeCurricularPlan();
final Degree degree = degreeCurricularPlan.getDegree();
final Branch branch = studentCurricularPlan.getBranch();
StudentDataShareAuthorization dataAccess =
student.getPersonalDataAuthorizationAt(executionYear.getEndDateYearMonthDay().toDateTimeAtMidnight());
final Row row = spreadsheet.addRow();
row.setCell(student.getNumber().toString());
row.setCell(person.getName());
row.setCell(degree.getDegreeType().getLocalizedName() + " "
+ degree.getNameFor(registration.getStartExecutionYear()).getContent());
row.setCell(branch == null ? "" : branch.getName());
row.setCell("" + registration.getCurricularYear(executionYear));
row.setCell("" + registration.getAverage(executionYear));
if (registration.isConcluded()) {
row.setCell(executionYear.getYear());