Java实现的Excel列号数字与字母互相转换功能

网友投稿 376 2023-02-13


Java实现的Excel列号数字与字母互相转换功能

本文实例讲述了java实现的Excel列号数字与字母互相转换功能。分享给大家供大家参考,具体如下:

我们在实现对Excel的导入导出的时候,往往需要准确的给用户提示信息,提示到具体的Excel的单元格,这里就需要对Excel的列号进行数字和字母的转换,今天正好用到这个需求,所以就写了一个demo,总结一下:

Java实现:

package test;

/**

* Deal with Excel column indexToStr and strToIndex

* @author Stephen.Huang

* @version 2015-7-8

*/

public class ExcelColumn {

public static void main(String[] args) {

String colstr = "AA";

int colIndex = excelColStrToQmlCqyANum(colstr, colstr.length());

System.out.println("'" + colstr + "' column index of " + colIndex);

colIndex = 26;

colstr = excelColIndexToStr(colIndex);

System.out.println(colIndex + " column in excel of " + colstr);

colstr = "AAAA";

colIndex = excelColStrToNum(colstr, colstr.length());

System.out.println("'" + colstr + "' column index of " + colIndex);

colIndex = 466948;

colstr = excelColIndexToStr(colIndex);

http:// System.out.println(colIndex + " column in excel of " + colstr);

}

/**

* Excel column index begin 1

* @param colStr

* @param length

* @return

*/

public static int excelColStrToNum(String colStr, int length) {

int num = 0http://;

int result = 0;

for(int i = 0; i < length; i++) {

char ch = colStr.charAt(length - i - 1);

num = (int)(ch - 'A' + 1) ;

num *= Math.pow(26, i);

result += num;

}

return result;

}

/**

* Excel column index begin 1

* @param columnIndex

* @return

*/

public static String excelColIndexToStr(int columnIndex) {

if (columnIndex <= 0) {

return null;

}

String columnStr = "";

columnIndex--;

do {

if (columnStr.length() > 0) {

columnIndex--;

}

columnStr = ((char) (columnIndex % 26 + (int) 'A')) + columnStr;

columnIndex = (int) ((columnIndex - columnIndex % 26) / 26);

} while (columnIndex > 0);

return columnStr;

}

}

测试结果:

‘AA' column index of 27

26 column in excel of Z

‘AAAA' column index of 18279

466948 column in excel of ZNSN

更多关于java相关内容感兴趣的读者可查看本站专题:《Java操作Excel技巧总结》、《Java+mysql数据库程序设计总结》、《Java数据结构与算法教程》、《Java文件与目录操作技巧汇总》及《Java操作DOM节点技巧总结》

希望本文所述对大家java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:医保开发接口(医保系统接口类型)
下一篇:go api接口管理系统(go开发api接口)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~