public LeseNotenAusExcel(string afileName, StatusChanged StatusChangedMethod) { fileName = afileName; this.StatusChanged = StatusChangedMethod; Status("Öffne Datei " + afileName); xls = new OpenNotendatei(fileName); // Liste der gespeicherten Sids bereitstellen (alte Sids sollen nicht aus Excel gelöscht werden) for (int i = CellConstant.zeileSIdErsterSchueler; i < CellConstant.zeileSIdErsterSchueler + OpenNotendatei.MaxAnzahlSchueler; i++) { int sid = Convert.ToInt32(xls.ReadValue(xls.sid, CellConstant.SId + i)); if (sid == int.MaxValue) { continue; // Schüler wurde gelöscht } else { if (sid == 0) break; sidList.Add(sid); } } kurs = new Kurs(Convert.ToInt32(xls.ReadValue(xls.sid, CellConstant.KursId))); Status("Synchronisiere Datei " + afileName); Synchronize(); Status("Übertrage Noten aus Datei " + afileName); DeleteAlteNoten(); UebertrageNoten(); success = true; // TODO: Gefährlich, private Variablen zu disposen? xls.Dispose(); xls = null; Status("fertig mit Datei " + afileName); }