Я хотел бы понять, как получить букву столбца с помощью Epplus. Я знаю, что Address вернет букву столбца и номер строки, а FullAddress добавит имя листа, но я не вижу объекта только для буквы столбца.

?sheet.Cells[index2, index3].Address
"J2"

?sheet.Cells[index2, index3].FormulaR1C1
""

?sheet.Cells[index2, index3].FullAddress
"'Sheet1'!J2"

?sheet.Cells[index2, index3].FullAddressAbsolute
"'Sheet1'!$J$2"

?sheet.Cells[index2, index3].Rows
4
user5843610 14 Сен 2018 в 21:25

2 ответа

Лучший ответ

Вы уже знаете index3. У вас есть буква столбца с этим.

public static class IntExtension
{
    public static string ToExcelColumn(this int i)
    {
        string column = string.Empty;

        if (i / 26m > 1)
        {
            int letter = (int)i / 26;
            column = ((char)(65 + letter - 1)).ToString();
            i -= letter * 26;
        }

        column += ((char)(65 + i - 1)).ToString();

        return column;
    }
}

Просто позвоните index3.ToExcelColumn();

0
DanB 14 Сен 2018 в 18:49

EPPlus содержит класс ExcelCellAddress, у которого есть статический метод GetColumnLetter для извлечения буквы, соответствующей предоставленному индексу столбца на основе 1.

public static string GetColumnLetter(int column)

Следующий вызов вернет букву столбца A.

String columnLetter = OfficeOpenXml.ExcelCellAddress.GetColumnLetter(1); // A
10
pfx 14 Сен 2018 в 20:18