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"& ...
随机推荐
- 数据库——DQL(语句查询)
查询的基本结构: 概念: 查询(DQL)是数据库中最为常用和复杂的一种SQL结构,学会编写查询SQL是程序员必须具备的能力. 要从数据库中查询数据,我们要使用SQL的SELECT语句.标准SELECT ...
- SQL Server Reporting Services (SSRS): Reporting Services in SQL Server 2012 (codename "Denali") will support XLSX, DOCX formats. Bye bye 65536 rows limit in XLS files ;)
当SSRS报表的时候,若相应EXCEL是2003以下,在行数超过65536的时候报表会报错 "Microsoft.ReportingServices.ReportProcessing.Han ...
- WebViewJavascriptBridge详细使用(转载)
WebViewJavascriptBridge是支持到iOS6之前的版本的,用于支持native的iOS与javascript交互.如果需要支持到iOS6之前的app,使用它是很不错的.本篇讲讲Web ...
- CentOS 7 下的LAMP实现以及基于https的虚拟主机
系统环境:CentOS 7Apache 2.4php 5.4MariaDB 5.5 项目需求:创建3个虚拟主机,分别架设phpMyadmin,wordpress,Discuz其中phpMyadmin提 ...
- PAT 02-线性结构1 两个有序链表序列的合并 (15分)
本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个递增的整数序列. 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef ...
- 计算机缺失缺少mfc110.dll等相关文件的解决办法
去https://www.microsoft.com/zh-CN/download/details.aspx?id=30679下载 VSU4\vcredist_x64.exe 和VSU4\vcredi ...
- [JS]Ext最新GPL版
https://www.sencha.com/legal/gpl/ Sencha Ext JS.Sencha Touch.Sencha GXT http://cdn.sencha.com/ext/gp ...
- iOS视频播放器
用AVPlayer写的一个简单的播放器,支持横竖屏旋转! https://github.com/shumingli/module 欢迎加iOS开发交流群:516318591
- 利用Aspose.Pdf将扫描的电子书修改为适合在kindle上查看
很多扫描版的电子书,留有很大的页边距,大屏的设备看起来没有啥影响,可是在kindle上看起来就麻烦了,放大操作简直就没法用,最好能把留白去掉. 将pdf文件转换为图片这个看看 例子里的 JpegDev ...
- javascript冒泡算法
var arr = [10, 10, 3, 2, 5 , 4, 8, 3]; function reSort(arr) { var temp = 0; var len = arr.length; fo ...