private void EvaluateWinner(WorksheetPart worksheetPart, int i)
        {
            // Gewinner eintragen
            var match  = Rounds[i - 1].Matches[0];
            var winner = match.FirstPlayerWin ? match.PlayerOne : match.PlayerTwo;

            CellWriter.WriteValueInCell(worksheetPart.Worksheet, CellValues.String, winner, i + 1, startPosition);
        }
        private void WriteRoundName(Worksheet worksheet, int i)
        {
            string text = $"Round {i + 1}";

            if (i == Rounds.Count)
            {
                text = "Winner";
            }
            CellWriter.WriteValueInCell(worksheet, CellValues.String, text, i + 1, 2);
        }
        private void EvaluateMatchData(WorksheetPart worksheetPart, int i)
        {
            // Jedes Spiel jeder Runde durchgehen
            foreach (var match in Rounds[i].Matches)
            {
                // Daten des Spiels in die Zellen schreiben
                // Erster Spieler des Spiels
                CellWriter.WriteValueInCell(worksheetPart.Worksheet, CellValues.String, match.PlayerOne, i + 1, startPosition);

                // VS
                var vsPosition = startPosition + Convert.ToInt32(Math.Pow(2, i));
                if (!nextStartposition.HasValue)
                {
                    nextStartposition = vsPosition;
                }
                CellWriter.WriteValueInCell(worksheetPart.Worksheet, CellValues.String, "vs", i + 1, vsPosition);

                // Zweiter Spieler des Spiels
                CellWriter.WriteValueInCell(worksheetPart.Worksheet, CellValues.String, match.PlayerTwo, i + 1, startPosition + 2 * Convert.ToInt32(Math.Pow(2, i)));

                // Nun wird die Startposition für das nächste Spiel berechnet
                startPosition = startPosition + Convert.ToInt32(Math.Pow(2, i + 2));
            }
        }