如何在c#中使用Excel -column-name格式在Excel中获取列索引

本文关键字:Excel 格式 获取 索引 -column-name | 更新日期: 2023-09-27 18:01:15

我在这里找到了http://lateral8.com/articles/2010/3/5/openxml-sdk-20-export-a-datatable-to-excel.aspx一个伟大的函数

private string getColumnName(int columnIndex)
{
    int dividend = columnIndex;
    string columnName = String.Empty;
    int modifier;
    while (dividend > 0)
    {
        modifier = (dividend - 1) % 26;
        columnName = 
            Convert.ToChar(65 + modifier).ToString() + columnName;
        dividend = (int)((dividend - modifier) / 26);
    }
    return columnName;
}

我想做类似的事情-提供列名和接收索引。例如,提供名称'AB'并接收结果索引28。如何做到这一点?

更新:

令人惊讶的是,我在评论部分找到了解决方案

这里的

https://stackoverflow.com/a/8739121/907732

https://stackoverflow.com/a/4888750/907732

如何在c#中使用Excel -column-name格式在Excel中获取列索引

public static string GetColumnName(int index)
{
    const string letters = "ZABCDEFGHIJKLMNOPQRSTUVWXY";
    int NextPos = (index / 26);
    int LastPos = (index % 26);
    if (LastPos == 0) NextPos--;
    if (index > 26)
        return GetColumnName(NextPos) + letters[LastPos];
    else
        return letters[LastPos] + "";
}