java 将 excel 中的字母类索引转为数字列索引
2019-05-23 13:49
2436 查看
版权声明:本文为博主原创文章,如需转载请注明原文出处: https://blog.csdn.net/u010979642/article/details/90175978
如上图, 将 excel 文档中的头部字母
A B C D E ... CA CB CC...列索引转换为数字列索引
public class AALUtil { /** * 将 excel 中的字母列索引转换为数字列索引 * * @param letterColIdx 字母列索引 * @return rlt 返回字母列索引对应的数字索引 A -> 0 BA -> 52 CA -> 78 * */ public static long transLetter2Num(String letterColIdx) { long rlt = 0; letterColIdx = letterColIdx.toUpperCase(); String[] sts = letterColIdx.split(""); int length = sts.length; for (int i = 0; i < length; i++) { String st = sts[i]; char[] cs = st.toCharArray(); int idx = (int)cs[0]; // 如果字符不是 A-Z 之间的字符, 则抛错 if (idx < 65 || idx > 90) { throw new ExcelAnalysisException("Characters["+ st +"] not between A and Z."); } idx -= 64; long num = (long) (idx * Math.pow(26, length - i - 1)); // System.out.println("i: " + i + ", num: " + num); rlt += num; } return --rlt; } public static void main(String[] args) { System.out.println("A: " + transLetter2Num("A")); System.out.println("BA: " + transLetter2Num("BA")); System.out.println("CA: " + transLetter2Num("CA")); System.out.println("CAZ: " + transLetter2Num("CAZ")); System.out.println("CBA: " + transLetter2Num("CBA")); } }3ff7
运行结果
A: 0 BA: 52 CA: 78 CAZ: 2079 CBA: 2080
相关文章推荐
- EXCEL中列号由数字转为字母类
- 【MFC/C++ 操作Excel】将数字格式单元格转为文本格式
- java读取excel文件的数字,读取时间
- java导出csv用excel打开后数字不用科学计数法显示
- excel中取出的日期数字改成java日期
- java jxl excel 导入导出的 总结(建立超链接,以及目录sheet的索引)
- 将普通的数字转为color值,java和javascript的区别
- Java 将数字转为16进制,然后转为字符串类型
- Excel中取出的日期数字改成java日期
- Java通过列索引获取Excel其对应列的字母(两种实现算法)
- java中将数字转换成excel中列名
- 【Vegas原创】导出Excel时,如何将数字格式转为文本格式?(07.12.13 Update)
- java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式
- java jxl excel 导入导出的 总结(建立超链接,以及目录sheet的索引)
- Java用正则对字符串进行处理并判断是否能转为数字
- Java读取Excel表格以及读取数字列转为文本的解决办法
- 【Vegas原创】导出Excel时,如何将数字格式转为文本格式?(07.12.13 Update)
- java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式
- java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式
- java小知识excel表列和数字的相互转换