`

转:使用Java将Excel 列号数字与字母互相转换

阅读更多

转载自:http://blog.csdn.net/u010571844/article/details/46806265

转载内容(有修改):

public class ExcelColumn {
    public static void main(String[] args) {
        String colstr = "B";
        int colIndex = excelColStrToNum(colstr);
        System.out.println(colstr+"列转换成数字下标:"+colIndex);

        colIndex = 26;
        colstr = excelColIndexToStr(colIndex);
        System.out.println("下标为"+colIndex+"转换成列:"+colstr);

        colstr = "AAAA";
        colIndex = excelColStrToNum(colstr);
        System.out.println(colstr+"列转换成数字下标:"+colIndex);

        colIndex = 466948;
        colstr = excelColIndexToStr(colIndex);
        System.out.println("下标为"+colIndex+"转换成列:"+colstr);
    }

    /**
	 * 该方法用来将Excel中的ABCD列转换成具体的数据
	 * @param column:ABCD列名称
	 * @return integer:将字母列名称转换成数字
	 * **/
    public static int excelColStrToNum(String column) {
        int num = 0;
        int result = 0;
        int length =column.length(); 
        for(int i = 0; i < length; i++) {
            char ch = column.charAt(length - i - 1);
            num = (int)(ch - 'A' + 1) ;
            num *= Math.pow(26, i);
            result += num;
        }
        return result;
    }

    /**
	 * 该方法用来将具体的数据转换成Excel中的ABCD列
	 * @param int:需要转换成字母的数字
	 * @return column:ABCD列名称
	 * **/
    public static String excelColIndexToStr(int columnIndex) {
        if (columnIndex <= 0) {
            return null;
        }
        String columnStr = "";
        columnIndex--;
        do {
            if (columnStr.length() > 0) {
                columnIndex--;
            }
            columnStr = ((char) (columnIndex % 26 + (int) 'A')) + columnStr;
            columnIndex = (int) ((columnIndex - columnIndex % 26) / 26);
        } while (columnIndex > 0);
        return columnStr;
    }
}

 

分享到:
评论

相关推荐

    Java实现的Excel列号数字与字母互相转换功能

    在测试结果中,我们可以看到,Java实现的Excel列号数字与字母互相转换功能可以正确地将字母格式的列号转换为数字格式,也可以正确地将数字格式的列号转换为字母格式。 Java实现的Excel列号数字与字母互相转换功能是...

    2021-2022计算机二级等级考试试题及答案No.10339.docx

    - **详细说明**:题目提供了一段Java代码,其中使用`Double.parseDouble()`和`Integer.parseInt()`方法将字符串转换为双精度浮点数和整数。这里的关键在于理解字符串到数值类型的转换过程及其操作顺序。最终输出的...

    2021-2022计算机二级等级考试试题及答案No.11563.docx

    - **知识点**: 掩码“LLLO00”意味着字母(大小写均可)和数字的组合输入,其中字母代表字母,数字代表数字。符合此掩码的正确输入是包含两个字母后接三个数字的形式。 - **重要程度**: 低 - **应用**: 数据输入验证...

    2021-2022计算机二级等级考试试题及答案No.18034.docx

    这是因为`Mid$`函数截取了字符串“123456”的第3位开始的两位(即“34”),然后将其转换为数字并与123相加。 ### 6. switch 语句 - **支持类型**:`switch`语句的判断条件可以接收的数据类型包括`int`、`byte`、`...

    2021-2022计算机二级等级考试试题及答案No.1501.docx

    9. 调制解调器:在拨号上网时,我们通常使用的设备被称为调制解调器(Modem),它可以将模拟信号和数字信号互相转换。 10. 文件删除:如果File对象表示的是目录且包含文件或子目录,直接调用delete()方法无法删除,...

    2021-2022计算机二级等级考试试题及答案No.18589.docx

    2. 数据库表与自由表的转换:在 Access 中,数据库表和自由表(也称为独立表)可以互相转换,选项D正确。 3. SQL 查询:SQL(Structured Query Language)是用于处理关系数据库的标准语言,可以创建各种类型的查询...

    2021-2022计算机二级等级考试试题及答案No.18975.docx

    14. Excel工作区构成:Excel工作区通常由工作簿窗口、菜单栏、工具栏、公式栏、状态栏组成,但此说法错误,因为Excel工作区还包括活动单元格、行号和列标等其他元素。 15. 垃圾回收机制:Java的垃圾回收机制自动...

    2021-2022计算机二级等级考试试题及答案No.2297.docx

    8. **数据库表与自由表**:数据库表和自由表在Access中可以互相转换,选项D正确。 9. **静态变量**:在C/C++中,静态变量在函数内部保持其值,因此在多次调用后仍保留上次调用的值。 10. **ASCII码比较**:ASCII码...

    2021-2022计算机二级等级考试试题及答案No.3543.docx

    13. 数据库表与自由表:在数据库管理中,数据库表和自由表可以互相转换,自由表不隶属于任何数据库,而数据库表属于特定数据库。 14. 类继承:在面向对象编程中,类可以被继承,以创建子类,除非明确声明为不可继承...

    测试培训教材

    测试管理与QualityCenter培训手册 1、测试流程管理、测试度量方法 按照尽早进行测试的原则,测试人员应该在需求阶段就介入,并贯穿软件开发的全过程。就测试过程本身而言,应该包含以s下几个阶段。  -测试需求的...

    2021-2022计算机二级等级考试试题及答案No.13628.docx

    23. 拨号上网时使用的“猫”指的是调制解调器(Modem),它可以将模拟信号和数字信号互相转换。 24. 程序中`getchar()`用于接收字符输入,但由于输入了"a",所以第一个`getchar()`接收了'a',第二个`getchar()`会...

Global site tag (gtag.js) - Google Analytics