using System;
using System.Collections.Generic;
using System.Text;
namespace Excel数据复制
{
class ConvertToTen
{
public int ZmToTen(string zm)
{
zm = zm.ToUpper();
int jg = 0;
switch (zm)
{
case "A": return jg = 1;
case "B": return jg = 2;
case "C": return jg = 3;
case "D": return jg = 4;
case "E": return jg = 5;
case "F": return jg = 6;
case "G": return jg = 7;
case "H": return jg = 8;
case "I": return jg = 9;
case "J": return jg = 10;
case "K": return jg = 11;
case "L": return jg = 12;
case "M": return jg = 13;
case "N": return jg = 14;
case "O": return jg = 15;
case "P": return jg = 16;
case "Q": return jg = 17;
case "R": return jg = 18;
case "S": return jg = 19;
case "T": return jg = 20;
case "U": return jg = 21;
case "V": return jg = 22;
case "W": return jg = 23;
case "X": return jg = 24;
case "Y": return jg = 25;
case "Z": return jg = 26;
}
return jg;
}
public string TenToZm(int ten)
{
string jg=string.Empty;
switch (ten)
{
case 1: return jg = "A";
case 2: return jg = "B";
case 3: return jg = "C";
case 4: return jg = "D";
case 5: return jg = "E";
case 6: return jg = "F";
case 7: return jg = "G";
case 8: return jg = "H";
case 9: return jg = "I";
case 10: return jg = "J";
case 11: return jg = "K";
case 12: return jg = "L";
case 13: return jg = "M";
case 14: return jg = "N";
case 15: return jg = "O";
case 16: return jg = "P";
case 17: return jg = "Q";
case 18: return jg = "R";
case 19: return jg = "S";
case 20: return jg = "T";
case 21: return jg = "U";
case 22: return jg = "V";
case 23: return jg = "W";
case 24: return jg = "X";
case 25: return jg = "Y";
case 26: return jg = "Z";
}
return jg;
}
//26进制转换成十进制
public int ZmsToTen(string zms)
{
int jg = 0;
if (zms != string.Empty)
{
for (int i = 1; i <= zms.Length; i++)
{
int _jg = 1;
for (int j = 0; j < i; j++)
{
if (j == 0)
{
_jg = 1;
}
else
{
_jg = 26 * _jg;
}
}
jg = jg + ZmToTen(zms.ToUpper().Substring(zms.Length-i, 1)) * _jg;
}
}
else
{
jg = 0;
}
return jg;
}
//10进制转换成26进制
public string TensToZm(int tens)
{
string jg=string.Empty;
int _jg = tens;
int _jg1=0;
if (tens > 0)
{
while (_jg != 0)
{
_jg1 = _jg % 26;//取到余数
_jg = (_jg-1) / 26;//取到模,搞不清为什么要减一,可能是从1开始地,在取模时要考虑从1开始而不是从0开始
if (_jg1 == 0)
{
jg = "Z"+jg;
}
else
{
jg = TenToZm(_jg1)+jg;
}
}
}
else
{
jg = "";
}
return jg;
}
}
}