将Excel中的字母列名转换成数字的算法

   使用场景:

      以Excel为报表模板时,使用字母列名对用户比较直观,但JXL操作时使用的是数字序列。

      以下算法是转换方法。支持AA,AB,ABCD的转换。

 

   /**

     * EXCELA,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;

    }

你可能感兴趣的:(JAVA技术)