java对列_JAVA实现EXCEL⾏列号解析(⼀)——单格解析Excel每⼀个单元格都已⼀个单元格名:
如:A1中A表⽰第⼀列,1表⽰第⼀⾏。再⽐如AB3表⽰第28列,第3⾏。
说到底,实际上是10进制与26进制之间的转化!
1. 通过单元格名获得⾏号
如输⼊A12获得是第12⾏的。
public static int row(String cellName)
{
int row=0;
char[] UpperCase().toCharArray();
boolean startFlag=false;//保证了数字之后不能出现字母
int index=0;
while(index
{
if(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 cellName)
{
int column=0;java中index是什么意思
char[] UpperCase().toCharArray();
int index=0;
while(index
{
if(c[index]'Z')
break;
column=column*26+(c[index]-'A'+1);
index++;
}
return column;
}
3. 通过给定⼀个⾏号,列号,得到⼀个单元格名称如给定12⾏,28列;得到的是AB12 public static String cellName(int row,int col)
{
ArrayList list=new ArrayList();
while(col>0)
{
list.add((char) (col%26+'A'-1));
col/=26;
}
StringBuffer buffer=new StringBuffer();
for(int i=list.size()-1;i>=0;i--)
buffer.(i));
buffer.append(""+row);
String();
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。