Excel列名 字母和数字的转换
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列名 字母和数字的转换的更多相关文章
- 转载: 黄聪:C#中 Excel列字母与数字的转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- [No0000107]C#中 Excel列字母与数字的转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- WORD2010如何把全角字母和数字批量转换成半角
个人觉得全角字符看起来相当别扭,如果文档中存在大量全角形式的字母和数字,要如何把它们全部转化成半角的呢? 全角和半角 全角是指一个字符占用两个标准字符位置的状态.汉字字符和规定了全角的英文字符 ...
- 在EXCEL带有字母的数字下拉如何能自动排序
在excel中0,1,2,3,4,5,6,7,8,9会自动排序,a,b,c,d,e,f,g.....会自动排序,所以可以分布来实现. 例如排序:fish1a.png,fish1b.png,fish1c ...
- Java将Excel的列数以字母表示的字符串转换成数字表示
我们知道,在 Excel 中,行数用数字表示,而列数是用字母表示的(如下图所示),有时候需要把它转换成数字来使用,或者把数字转换成字母.(例如使用POI操作Excel) 下面是转换代码,用来进行字母和 ...
- Python 3 实现数字转换成Excel列名(10进制到26进制的转换函数)
背景: 最近在看一些Python爬虫的相关知识,讲爬取的一些数据写入到Excel表中,当时当列的数目不确定的情况下,如何通过遍历的方式讲爬取的数据写入到Excel中. 开发环境: Python 3 ...
- 微软白板Excel xls列号数字转字母
Excel xls列号数字转字母 https://blog.csdn.net/lf124/article/details/53432817?utm_source=itdadao&utm_med ...
- EXCEL 数字统一转换成文本
将excel中的数字统一转换成文本形式.即添加‘. 1.点击数据-分列. 2.分隔符号-下一步. 3.选择文本识别符号,如“‘”分号. 4. 选中文本-完成.
- Excel 列名转int索引(C#版)
/// <summary> /// 获取Excel实际列索引 /// </summary> /// <param name="columnName"& ...
随机推荐
- selenium+phantomjs爬取动态页面数据
1.安装selenium pip/pip3 install selenium 注意依赖关系 2.phantomjs for windows 下载地址:http://phantomjs.org/down ...
- Html注册表单示例
注册表单示例,出自<网页开发手记:Html,CSS,JavaScript实战详解>. <html> <head> <title>注册表单&l ...
- C语言中extern的用法
0x01 extern用在变量或函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”. 0x02 extern修饰变量的声明. 举例:若a.c中需引用b.c中的变量int v,可以在a. ...
- C#小写数字金额转换成大写人民币金额的算法
C#小写数字金额转换成大写人民币金额的算法 第一种方法: using System.Text.RegularExpressions;//首先引入命名空间 private string DaXie(st ...
- rabbitMQ学习(四)
按照routing key接收信息 发送端: public class EmitLogDirect { private static final String EXCHANGE_NAME = &quo ...
- How-to: Enable User Authentication and Authorization in Apache HBase
With the default Apache HBase configuration, everyone is allowed to read from and write to all table ...
- 经典功率谱估计及Matlab仿真
原文出自:http://www.cnblogs.com/jacklu/p/5140913.html 功率谱估计在分析平稳各态遍历随机信号频率成分领域被广泛使用,并且已被成功应用到雷达信号处理.故障诊断 ...
- solr清空全部索引
http://blog.csdn.net/qing419925094/article/details/42142117
- shell判断FTP传输是否成功
#!/bin/bash ##判断FTP传输文件是否成功 exec 6>&1 1>/tmp/lzc.txt ##打开一个文件描述符6,保存文件描述符1的属性,然后将描述1重定向到lz ...
- memcached tomcat maven 学习记录
2016.12.11 maven 快速搭建项目,只要有pom.xml文件配置好依赖 可以把项目切割(具体切割出来的块怎么用?) nginx 负载均衡 文件服务器 主要配置nginx.conf 文件 ...