使用场景:
以Excel为报表模板时,使用字母列名对用户比较直观,但JXL操作时使用的是数字序列。
以下算法是转换方法。支持AA,AB,ABCD的转换。
/**
* 将EXCEL中A,B,C,D,E列映射成0,1,2,3
* @param col
* @return
*/
private static int getExcelCol(String col){
col = col.toUpperCase();
//从-1开始计算,字母重1开始运算。这种总数下来算数正好相同。
int count = -1;
char[] cs = col.toCharArray();
for(int i=0;i<cs.length;i++)
{
count += (cs[i]-64 ) * Math.pow(26, cs.length-1-i);
}
return count;
}