Excel每一个单元格都已一个单元格名:
如:A1中A表示第一列,1表示第一行。再比如AB3表示第28列,第3行。
说到底,实际上是10进制与26进制之间的转化!
1. 通过单元格名获得行号
如输入A12获得是第12行的。
public static int row(String cellName)
{
int row=0;
char[] c=cellName.toUpperCase().toCharArray();
boolean startFlag=false;//保证了数字之后不能出现字母
int index=0;
while(index<c.length)
{
if(c[index]<'0'||c[index]>'9')
{
index++;//容易出错的地方
if( startFlag)
throw new IllegalArgumentException("单元格名称输入错误,请检查");
continue;
}
row=row*10+(c[index]-'0');
startFlag=true;
index++;
}
return row;
}
2. 通过单元格名获得列号。如输入AB12,对应的列号为28列
public static int column(String cel