1. ホーム
  2. c#

[解決済み] 列番号(例:127)をExcelの列(例:AA)に変換する方法

2022-03-18 18:24:38

質問

Excelから直接値を取得するオートメーションを使用せずに、C#で数値をExcelの列名に変換するにはどうしたらよいでしょうか。

Excel2007では、1~16384の範囲で対応可能な列数が決まっています。結果として得られる値は、A、AA、AAAなどのExcelの列名の形式である必要があります。

どのように解決するのですか?

以下はその方法です。

private string GetExcelColumnName(int columnNumber)
{
    string columnName = "";

    while (columnNumber > 0)
    {
        int modulo = (columnNumber - 1) % 26;
        columnName = Convert.ToChar('A' + modulo) + columnName;
        columnNumber = (columnNumber - modulo) / 26;
    } 

    return columnName;
}