在 C# 中将数字转换为字母,以便在 Microsoft Excel 中使用
本文关键字:Microsoft Excel 数字 转换 | 更新日期: 2023-09-27 18:32:32
可能的重复项:
如何将列号(例如 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;
}
只需将其转换为字符并执行"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
}