programing

Microsoft Excel에서 사용할 수 있도록 숫자를 C# 문자로 변환

batch 2023. 6. 10. 08:34
반응형

Microsoft Excel에서 사용할 수 있도록 숫자를 C# 문자로 변환

중복 가능성:
열 번호(예: 127)를 Excel 열(예: AA)로 변환하는 방법

알겠습니다. 그래서 저는 2d 배열을 매개 변수로 받아들이는 방법을 작성하고 있습니다.이 2d 배열을 Excel 워크시트에 추가하고 싶은데 최종 셀 위치를 파악해야 합니다.높이는 다음과 같이 충분히 쉽게 구할 수 있습니다.

var height = data.GetLength(1); //`data` is the name of my 2d array

이것은 나에게 나의Y축이지만 내 것을 얻는 것은 그렇게 쉽지 않습니다.X축입니다. 분명히 다음과 같은 숫자를 얻을 수 있습니다.

var width = data.GetLength(0);

이것은 나에게 번호를 주고, 나는 그것을 편지로 바꾸고 싶습니다.예를 들어, 0은 A이고, 1은 B이고, 26이 될 때까지 계속해서 A로 돌아갑니다.나는 이것을 하는 간단한 방법이 있다고 확신하지만 나는 완전한 정신적 장애를 가지고 있습니다.

어떻게 하실 생각이세요?

감사해요.

두 글자로 된 열(Z 열 뒤)도 처리하는 버전은 다음과 같습니다.

static string GetColumnName(int index)
{
    const string letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    var value = "";

    if (index >= letters.Length)
        value += letters[index / letters.Length - 1];

    value += letters[index % letters.Length];

    return value;
}

그냥 char에 캐스팅하고 "ToString()"을 하세요.

using System;
using System.Collections.Generic;

public class MyClass
{
    public static void RunSnippet()
    {
        int myNumber = 65;
        string myLetter = ((char) myNumber).ToString();
        WL(myLetter);
    }

    #region Helper methods

    public static void Main()
    {
        try
        {
            RunSnippet();
        }
        catch (Exception e)
        {
            string error = string.Format("---\nThe following error occurred while executing the snippet:\n{0}\n---", e.ToString());
            Console.WriteLine(error);
        }
        finally
        {
            Console.Write("Press any key to continue...");
            Console.ReadKey();
        }
    }

    private static void WL(object text, params object[] args)
    {
        Console.WriteLine(text.ToString(), args);   
    }

    private static void RL()
    {
        Console.ReadLine(); 
    }

    private static void Break() 
    {
        System.Diagnostics.Debugger.Break();
    }

    #endregion
}

언급URL : https://stackoverflow.com/questions/10373561/convert-a-number-to-a-letter-in-c-sharp-for-use-in-microsoft-excel

반응형