簡體   English   中英

如何在C#中使用Excel-列名格式在Excel中獲取列索引

[英]How to get column index in Excel using excel-column-name format in C#

我在這里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

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] + "";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM