Excel 列名与列号之间的相互转换
来源:互联网 发布:加盟淘宝可靠吗 编辑:程序博客网 时间:2024/05/21 19:42
1.概述
在sheet中,表元A1, B1, C1….:字母表示列号,数字表示行号
2.代码实现
package util;/** 1. 工具类 2. */public final class ExcelUtil { /**将Sheet列号变为列名 * @param index 列号, 从0开始 * @return 0->A; 1->B...26->AA */ public static String index2ColName(int index) { if (index < 0) { return null; } int num = 65;// A的Unicode码 String colName = ""; do { if (colName.length() > 0) { index--; } int remainder = index % 26; colName = ((char) (remainder + num)) + colName; index = (int) ((index - remainder) / 26); } while (index > 0); return colName; } /**根据表元的列名转换为列号 * @param colName 列名, 从A开始 * @return A1->0; B1->1...AA1->26 */ public static int colName2Index(String colName) { int index = -1; int num = 65;// A的Unicode码 int length = colName.length(); for (int i = 0; i < length; i++) { char c = colName.charAt(i); if (Character.isDigit(c)) break;// 确定指定的char值是否为数字 index = (index + 1) * 26 + (int)c - num; } return index; }}
3.测试 - 列号转列名
- 代码实现
package test;import util.ExcelUtil;public class TestIndex2ColName { public static void main(String[] args) { System.out.println("列号转换为列名:"); System.out.println("0 --> " + ExcelUtil.index2ColName(0)); System.out.println("1 --> " + ExcelUtil.index2ColName(1)); System.out.println("2 --> " + ExcelUtil.index2ColName(2)); System.out.println("26 --> " + ExcelUtil.index2ColName(26)); System.out.println("27 --> " + ExcelUtil.index2ColName(27)); System.out.println("28 --> " + ExcelUtil.index2ColName(28)); System.out.println("702 --> " + ExcelUtil.index2ColName(702)); System.out.println("703 --> " + ExcelUtil.index2ColName(703)); System.out.println("704 --> " + ExcelUtil.index2ColName(704)); }}
- 测试结果
4.测试 - 表元转列号
- 代码实现
package test;import util.ExcelUtil;public class TestColName2Index { public static void main(String[] args) { System.out.println("表元列名转换为列号:"); System.out.println("A1 --> " + ExcelUtil.colName2Index("A1")); System.out.println("B1 --> " + ExcelUtil.colName2Index("B1")); System.out.println("C1 --> " + ExcelUtil.colName2Index("C1")); System.out.println("AA2 --> " + ExcelUtil.colName2Index("AA2")); System.out.println("AB2 --> " + ExcelUtil.colName2Index("AB2")); System.out.println("AC2 --> " + ExcelUtil.colName2Index("AC3")); System.out.println("AAA1 --> " + ExcelUtil.colName2Index("AAA1")); System.out.println("AAB1 --> " + ExcelUtil.colName2Index("AAB1")); System.out.println("AAC1 --> " + ExcelUtil.colName2Index("AAC1")); }}
2.测试结果
阅读全文
1 0
- Excel 列名与列号之间的相互转换
- Excel列名与数字的相互转换
- Excel列名与uint的相互转换
- EXCEL列名与数字之间转换
- Sheet列号与数字之间的相互转换
- excel列名和序列之间的转换
- excel的列名
- Python Excel 列名转换
- C#实现Excel列索引与相应的列字母之间的转换
- 使用VBA对Excel中列名称与列号之间进行转换
- Excel 列的转换
- 字母和数字的转换——Excel列名
- 字母和数字的转换——Excel列名
- -------------------------数字转换成EXCEL列名---------------------------------
- 【算法】Excel中的列名与数字的对应
- 表格 列与列之间的间距
- excel 获取最后一列的列名
- C#中 Excel列字母与数字的转换
- Spring 源码粘贴7
- java list ArrayList用法详细
- Google IO 2017 Keynote
- 我爬了某宝上4000+网店只为了告诉你中国人最爱喝什么绿茶
- Mac安装Homebrew以及使用
- Excel 列名与列号之间的相互转换
- Arithmetic Slices
- java.lang.System.exit()方法详解
- 贪心专题 HDU 1050
- C++ I/O库概述
- 深度优先搜索之马走日
- 牛客网 [编程题] 牛牛的数列 (DP)
- #ifndef #define #endif的用法
- 大学实训新学的知识点