операция против 26 целочисленного значения, так как нужно заботиться только о 26 символах. То есть при получении по модулю числа, которое будет больше 1, это означает, что вы должны удвоить символ и так далее. Чтобы рассказать об ответе Джоэла Кехорна, он рекурсивный, поэтому он должен удвоить и утроить строку символов, возвращаемую в качестве имени столбца, поэтому он должен фактически обрабатывать любое целочисленное значение, как я понимаю алгоритм. Эй, здесь нет никакого вреда, я просто хочу поделиться. Спасибо!

у быть в состоянии создать свой экземплярCell класс при именовании экземпляра ячейки с такими именами, как «A», «B», «C» и т. д., как в электронной таблице Excel.

У меня есть мойCell класс вроде так:

public class Cell {
    public Cell(Range nativeCell) {
        NativeCell = nativeCell;
    }

    public Range NativeCell { get; private set; }
}

И мойSheet класс:

public class Sheet {
    private IDictionary<string, Cell> _cells;

    public Sheet(Worksheet nativeSheet) {
        NativeSheet = nativeSheet;

        _cells = new Dictionary<string, Cell>();

        for (int rowIndex = 1; rowIndex <= NativeSheet.Rows.Count; ++rowIndex)
            for (int colIndex = 1; colIndex <= NativeSheet.Columns.Count; ++colIndex) {
                ICell newCell = new Cell(NativeSheet.Cells(rowIndex, colIndex));
                newCell.Name = ?? // This name should look like "A1", "B1", "AA3", "CB20", etc.
                Cells.Add(newCell.Name, newCell);
            }
    }

    public IDictionary<string, Cell> Cells {
        get {
            return _cells;
        }
    }

    public Worksheet NativeSheet { get; private set; }
}

Мне нужно было бы сгенерировать имя на основе букв алфавита и удвоить и утроить их, как только я столкнусь с последней буквой алфавита «Z». Алгоритм должен генерировать буквы, которые я бы связал сrowIndex значение, которое приведет к этой стратегии именования, такой как Excel.

Письма будут:

A, B, C, D...Z, AA, AB, AC...AZ, BA, BB, BC...BZ, CA...XAA, XAB, XAC...

Хотя мы четко знаем, чтоcolIndex значение 1 определенно будет обозначать столбец «A», значение 2 = «B», значение 3 = «C» и т. д.

Моя проблема особенно, когда мы удваиваем буквы.

Есть ли у вас идеи о том, как я мог бы добиться этого в простейшей форме?

Спасибо! знак равно

Ответы на вопрос(2)

Ваш ответ на вопрос