Excel的列名是由于字母组成的。 A-Z 分别代表1-26  AA 是27 AB是28 以此类推。

以下是这种编码的转换方法,如果遇到需要用纯字母编号来表示数字的时候可以用到。

/**
* 类似EXCEL的列头编号的转换方法
*/
public class AlphaIntegerTest { /**
* 将数值转换成A-Z的字母表示
*
* @param value 数值
* @return 字母表示
*/
public static String toAlphaString(int value) {
if (value <= 0) {
throw new IllegalArgumentException();
}
StringBuilder result = new StringBuilder();
do {
value--;
int n = value % 26;
result.append(((char) (n + (int) 'a')));
value = (int) ((value - n) / 26);
} while (value > 0);
return result.reverse().toString();
} /**
* 将编号转换成数值
*
* @param value 编号
* @return 编号代表的数值
*/
public static int parseIntByCode(String value) {
if (value == null || !value.matches("[a-zA-Z]+")) {
throw new IllegalArgumentException();
}
char[] chars = value.toLowerCase().toCharArray();
int index = 0;
for (int i = 0; i < chars.length; i++) {
index += ((int) chars[i] - (int) 'a' + 1) * (int) Math.pow(26, chars.length - i - 1);
}
return index;
} // 测试
public static void main(String[] args) {
System.out.println(toAlphaString(1));
System.out.println(toAlphaString(1 + 26));
System.out.println(toAlphaString(1 + 26 + 26 * 26));
System.out.println(toAlphaString(1 + 26 + 26 * 26 + 26 * 26 * 26));
System.out.println(parseIntByCode("a"));
System.out.println(parseIntByCode("aa"));
System.out.println(parseIntByCode("aaa"));
System.out.println(parseIntByCode("aaaa"));
} }

Excel列名 字母和数字的转换的更多相关文章

  1. 转载: 黄聪:C#中 Excel列字母与数字的转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. [No0000107]C#中 Excel列字母与数字的转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. WORD2010如何把全角字母和数字批量转换成半角

    个人觉得全角字符看起来相当别扭,如果文档中存在大量全角形式的字母和数字,要如何把它们全部转化成半角的呢?   全角和半角   全角是指一个字符占用两个标准字符位置的状态.汉字字符和规定了全角的英文字符 ...

  4. 在EXCEL带有字母的数字下拉如何能自动排序

    在excel中0,1,2,3,4,5,6,7,8,9会自动排序,a,b,c,d,e,f,g.....会自动排序,所以可以分布来实现. 例如排序:fish1a.png,fish1b.png,fish1c ...

  5. Java将Excel的列数以字母表示的字符串转换成数字表示

    我们知道,在 Excel 中,行数用数字表示,而列数是用字母表示的(如下图所示),有时候需要把它转换成数字来使用,或者把数字转换成字母.(例如使用POI操作Excel) 下面是转换代码,用来进行字母和 ...

  6. Python 3 实现数字转换成Excel列名(10进制到26进制的转换函数)

    背景: 最近在看一些Python爬虫的相关知识,讲爬取的一些数据写入到Excel表中,当时当列的数目不确定的情况下,如何通过遍历的方式讲爬取的数据写入到Excel中. 开发环境: Python 3  ...

  7. 微软白板Excel xls列号数字转字母

    Excel xls列号数字转字母 https://blog.csdn.net/lf124/article/details/53432817?utm_source=itdadao&utm_med ...

  8. EXCEL 数字统一转换成文本

    将excel中的数字统一转换成文本形式.即添加‘. 1.点击数据-分列. 2.分隔符号-下一步. 3.选择文本识别符号,如“‘”分号. 4. 选中文本-完成.

  9. Excel 列名转int索引(C#版)

    /// <summary> /// 获取Excel实际列索引 /// </summary> /// <param name="columnName"& ...

随机推荐

  1. 扩展easyui.datagrid,添加数据loading遮罩效果代码 --来自网摘收集

    //jquery.datagrid 扩展 (function (){ $.extend($.fn.datagrid.methods, { //显示遮罩 loading: function(jq){ r ...

  2. [转载]Python 资源大全

    原文链接:Python 资源大全 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex  ...

  3. VS2013配置WTL91_5321_Final

    网上关于WTL的文章,尤其是中文的文章不多,根据收集的资料整理出了VS2013安装WTL的方法. .下载.文件很小的,地址:http://sourceforge.net/projects/wtl/fi ...

  4. python中的浅拷贝和深拷贝

    1.赋值语句 a = 'abc' b = a print id(a) print id(b) # id(a):29283464 # id(b):29283464 通过简单的复制,我们可以看到,a b其 ...

  5. 移动端穿插着PC端自动化-Python基础(干货)

    1.前面已经把所有前期工作完成了 下面进行一些简单的小脚本来更好的了解Python.对Python有一些基础的童鞋理解起来会比较容易,我刚接触的时候也会有点懵的,现在简单的也是没问题了. 大牛请不要喷 ...

  6. O2O迈进智能时代 百度构建“服务生态”

    经历过山车式资本市场后,O2O领域正努力摆脱“低门槛”,或将迎来技术创新之争.在刚刚落幕的百度世界大会上,百度副总裁.百度糯米总经理曾良宣布:将以百度糯米.手机百度和百度地图为核心构建百度服务生态.在 ...

  7. js 小工具-- 按长度截取字符串

    function cutstr(str,len){ var temp; var icount = 0; var stren = ""; //这段正则表示匹配所有汉字以及全角字符 v ...

  8. 转 Jmeter之Bean shell使用(一)

    一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanS ...

  9. win10 剪贴板 拒绝访问

    win10 Cannot open clipboard:拒绝访问.

  10. Ambari自动化卸载shell脚本

    #!/bin/bash # Program: # uninstall ambari automatic # History: # 2014/01/13 - Ivan - 2862099249@qq.c ...