using System;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class letter : Form
{
public letter()
{
InitializeComponent();
}
/// <summary>
/// 索引
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
try
{
MessageBox.Show(ColumnToNumber(textBox1.Text).ToString());
}
catch { }
}
/// <summary>
///字母
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
try
{
MessageBox.Show(NumberToColumn(Convert.ToInt32(textBox1.Text)).ToString());
}
catch { }
}
public static int ColumnToNumber(string column)
{
int columnNumber = 0;
foreach (char letter in column)
{
columnNumber = columnNumber * 26 + (letter - 'A' + 1);
}
return columnNumber;
}
public static string NumberToColumn(int columnNumber)
{
string columnLetter = "";
while (columnNumber > 0)
{
int remainder = (columnNumber - 1) % 26;
columnLetter = Convert.ToChar('A' + remainder) + columnLetter;
columnNumber = (columnNumber - remainder) / 26;
}
return columnLetter;
}
}
}