`

通过JS将列数字索引转换为字母

阅读更多

前端界面类似EXCEL,需要写JS代码将获得的列索引转换为字母,例如:1转换为A,2转换为B...

1、有个简单的办法就是创建多个Array,存储数字和字母的关系,然后根据列的数字索引分区段遍历Array,找到数字对应的字母。这个方法是最简单和高效的。

2、另外一个方法就是受了JAVA编码的启发,我没搜到JS码阿(我写了以后大家就能搜到了),然后试着把JAVA代码给翻译了一下,竟然成功了,汗一个,下附JAVA码和JS码

JavaScript: 
/**
	 * 列数字转字母. 例如: 1\2\3\4 转换为 A\B\C\D
	 * 
	 * @param number
	 *            列索引,从1开始
	 * @return
	 */
	function numToColNo(number) {
		var result = "";
		var INT_26 = 26;
		var INT_64 = 64;
		
		if (number <= INT_26) {
			result = result + String.fromCharCode(number + INT_64);
		} else {
			do {
				var value = number % INT_26;
				if (value == 0) {
					result = result + 'Z';
					number = number / INT_26 - 1;
				} else {
					result = result + String.fromCharCode(value + INT_64);
					number /= INT_26;
				}
			} while (number > INT_26);
			result = result + String.fromCharCode(number + INT_64);
		}

		var reverse = new StringBuffer();
		for (var i = result.length - 1; i >= 0; --i) {
			reverse.append(result.charAt(i));
		}
		return reverse.toString();
	}



Java:
/**
	 * 列数字转字母.
	 * 例如: 1\2\3\4 转换为 A\B\C\D
	 * @param number 列索引,从1开始
	 * @return
	 */
	public String numToColNo(int number) {
		String result = "";
		final int INT_26 = 26;
		final int INT_64 = 64;
		
		if (number <= INT_26) {
			result = result + (char) (number + INT_64);
		} else {
			do {
				int value = number % INT_26;
				if (value == 0) {
					result = result + 'Z';
					number = number / INT_26 - 1;
				} else {
					result = result + (char) (value + INT_64);
					number /= INT_26;
				}
			} while (number > INT_26);
			result = result + (char) (number + INT_64);
		}

		StringBuffer reverse = new StringBuffer();
		for (int i = result.length() - 1; i >= 0; --i) {
			reverse.append(result.charAt(i));
		}
		return reverse.toString();
	}

 

分享到:
评论

相关推荐

    Excel列索引字母数字转换工具

    基于JavaScript开发的Excel列索引字母数字转换工具,可以输入Excel字母索引得到数字索引,也可以输入数字索引得到字母索引。一个小工具,可以作为参考。主要实现的是列字母、数字转换算法。基于JavaScript语言实现。

    Excel列索引字母数字转换工具,WEB版

    基于JS的Excel行列字母转换工具。WEB页面实现将Excel字母转换为数字,数字转换为字母。参考JS实现算法,也可以很容易的转换为Java实现。里面还有数字千分位显示Demo,做财务类开发的时候经常使用。

    toColumnIndex:将列索引转换为字母名称的实用程序功能

    在JavaScript编程中,"toColumnIndex"通常是指一个实用的辅助函数,它的主要作用是将数字形式的列索引转换成对应的字母表示,这在处理类似电子表格的数据时非常常见。例如,在Excel中,第1列是"A",第26列是"Z",第...

    node-spreadsheet-column:将电子表格列字母索引转换为数字索引,反之亦然

    节点电子表格列将电子表格列坐标转换为数字坐标并反转。 这是我的 PHP 库版本。为什么? 有时,当你开发一些关于 CSV 或类似东西的代码时,你会得到一些人使用电子表格值(A、AA、Z...列)或索引值(1、2、3)甚至...

    将阿拉伯数字转换为字母

    在JavaScript中,你可以创建一个数组,将数字映射到对应的字母,然后通过索引来获取字母: ```javascript function numToAlpha(num) { const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; let result = ''; while ...

    js验证码 两种样式 字母和数字 背景带有干扰线

    本话题将详细讲解基于JavaScript实现的两种样式的验证码,包括字母和数字,以及带有干扰线的背景设计。这种验证码不仅可以设置为纯数字或纯字母,还可以组合使用字母大小写与数字,提供了更高的安全性。 首先,...

    按中文首字母筛选 js

    这个"按中文首字母筛选 js"项目似乎提供了这样一个功能,使得用户可以通过点击或滚动字母表来定位到以特定汉字开头的条目。 在描述中提到的“中文字母序:ALL0-9ABCDEFGHIJKLMNOPQRSTUVWXYZ...”表明该脚本首先将...

    golang /js index 转换excel字母列名

    在编程中,有时我们需要将数字索引转换为这种字母列名,特别是在处理大量数据时。本篇讨论的是如何在Go(Golang)和JavaScript中实现这种转换。 在给定的Go代码中,定义了一个名为`Index2ExcelRow`的函数,它接受一...

    字母的索引

    这种设计在手机应用中尤为常见,通常被称为“滑动字母索引”。 实现这个功能,我们首先需要对数据进行预处理。假设我们有一个包含姓名的数据列表,我们需要遍历整个列表,为每个名字计算其拼音首字母(对于中文)或...

    js汉字转拼音及汉字转拼音首字母

    2. `initials(hanzi)`:此函数将汉字转换为拼音首字母,常用于制作拼音首字母索引。例如,“北京”会转化为“bj”。 为了在JavaScript中实现这些功能,可以采用以下步骤: 1. 创建一个汉字与拼音的映射表,这通常...

    数字+字母验证码

    2. **数字与字母的转换**:随机数被映射为对应的数字或字母。这通常通过创建一个包含所有可能字符的数组,然后使用随机索引来实现。例如,如果数组包含'0'到'9'和'A'到'Z',那么随机索引将决定是数字还是字母。 3. ...

    仿携程按首字母选择城市js特效

    2. **数组操作**:将城市列表转换为JavaScript数组,便于进行排序和过滤操作。例如,可以使用`Array.prototype.filter`方法筛选城市,`Array.prototype.sort`方法进行排序。 3. **事件监听**:使用`...

    汉字转换为拼音,取汉字的拼音首字母

    拼音是根据汉字的发音规则将其转换成拉丁字母的表示方法,比如“你好”转换为“nǐ hǎo”。拼音不仅帮助非中文使用者读写汉字,还在编程中用于搜索、排序和关键词提取等任务。 **2. pinyin4j库介绍** `pinyin4j`是...

    基于jQuery实现表格按列字母或数字排序.zip

    综上所述,通过结合jQuery的选择器、事件处理、DOM操作和JavaScript的数组排序功能,我们可以实现一个用户友好的表格排序功能,使得用户可以根据需要对表格数据进行动态排序,无论是按字母还是数字。提供的“使用...

    js 获取汉字首字母

    在JavaScript编程中,获取汉字的首字母是一项常见的需求,特别是在数据排序、拼音检索或构建关键词索引时。这篇博文“js 获取汉字首字母”提供了一种实现方式,它可能涉及到了字符串处理和字符编码的知识。下面我们...

    JS简单生成由字母数字组合随机字符串示例

    此外,`toString(36)`方法是将数字转换为36进制的字符串,因为在36进制中,可以包含数字和字母(a-z和A-Z),所以这个方法可以将数字转换成包含字母的字符串。 ### Math.random()生成随机字符串的操作技巧 1. **...

    ionic通讯录联系人城市列表首字母索引排序滑动支持拼音

    JavaScript库如pinyin或hanyu-pinyin可以处理汉字转拼音的任务,这样我们可以先将城市名转换为拼音,然后按照拼音进行排序。 "滑动支持"是指在长列表中,用户可以通过滑动手势来浏览和选择城市。Ionic 自带的 ion-...

    实验1_大小写转换_

    大小写转换是指将文本中的字母从大写转换为小写,或者从小写转换为大写。在计算机科学中,字符通常以ASCII码或Unicode编码表示,大小写字符拥有不同的编码值,因此转换可以通过简单的数学运算实现。 二、编程语言中...

    【KETTLE教材】JS内嵌方法

    KETTLE中的JavaScript提供了initCap()函数,可以将字符串的首字母转换为大写。 8. 字符串转换 KETTLE中的JavaScript提供了lower()和upper()函数,可以将字符串转换为小写或大写。 9. 字符串填充 KETTLE中的...

    javascript全角转换半角

    ### JavaScript全角转换半角知识点解析 在计算机领域中,字符编码是十分...通过上述解析,我们可以了解到该JavaScript函数是如何有效地实现全角到半角字符的转换,并且了解到了这种转换在实际开发过程中的应用场景。

Global site tag (gtag.js) - Google Analytics