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

本文实例讲述了Java实现的Excel列号数字与字母互相转换功能。分享给大家供大家参考,具体如下:

我们在实现对Excel的导入导出的时候,往往需要准确的给用户提示信息,提示到具体的Excel的单元格,这里就需要对Excel的列号进行数字和字母的转换,今天正好用到这个需求,所以就写了一个demo,总结一下:

Java实现:

package test;
/**
 * Deal with Excel column indexToStr and strToIndex
 * @author Stephen.Huang
 * @version 2015-7-8
 */
public class ExcelColumn {
  public static void main(String[] args) {
    String colstr = "AA";
    int colIndex = excelColStrToNum(colstr, colstr.length());
    System.out.println("'" + colstr + "' column index of " + colIndex);
    colIndex = 26;
    colstr = excelColIndexToStr(colIndex);
    System.out.println(colIndex + " column in excel of " + colstr);
    colstr = "AAAA";
    colIndex = excelColStrToNum(colstr, colstr.length());
    System.out.println("'" + colstr + "' column index of " + colIndex);
    colIndex = 466948;
    colstr = excelColIndexToStr(colIndex);
    System.out.println(colIndex + " column in excel of " + colstr);
  }
  /**
   * Excel column index begin 1
   * @param colStr
   * @param length
   * @return
   */
  public static int excelColStrToNum(String colStr, int length) {
    int num = 0;
    int result = 0;
    for(int i = 0; i < length; i++) {
      char ch = colStr.charAt(length - i - 1);
      num = (int)(ch - 'A' + 1) ;
      num *= Math.pow(26, i);
      result += num;
    }
    return result;
  }
  /**
   * Excel column index begin 1
   * @param columnIndex
   * @return
   */
  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;
  }
}

测试结果:

‘AA' column index of 27
26 column in excel of Z
‘AAAA' column index of 18279
466948 column in excel of ZNSN

更多关于java相关内容感兴趣的读者可查看本站专题:《Java操作Excel技巧总结》、《Java+MySQL数据库程序设计总结》、《Java数据结构与算法教程》、《Java文件与目录操作技巧汇总》及《Java操作DOM节点技巧总结》

希望本文所述对大家java程序设计有所帮助。

您可能感兴趣的文章:

  • Java读取Excel文件内容的简单实例
  • Java数据导出功能之导出Excel文件实例
  • java实现合并单元格的同时并导出excel示例
  • java读取excel文件并复制(copy)文件到指定目录示例
  • java常用工具类之Excel操作类及依赖包下载
  • java创建excel示例(jxl使用方法)
  • java实现excel导入数据的工具类
  • JAVA使用POI获取Excel的列数与行数
  • java poi读取excel操作示例(2个代码)
  • Java实现操作excel表格
  • 在java poi导入Excel通用工具类示例详解
(0)

相关推荐

  • Java读取Excel文件内容的简单实例

    借助于apathe的poi.jar,由于上传文件不支持.jar所以请下载后将文件改为.jar,在应用程序中添加poi.jar包,并将需要读取的excel文件放入根目录即可 本例使用java来读取excel的内容并展出出结果,代码如下: 复制代码 代码如下: import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExceptio

  • java实现excel导入数据的工具类

    导入Excel数据的工具类,调用也就几行代码,很简单的. 复制代码 代码如下: import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;import org.apache.commons.beanutils.BeanUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory; import java.io.IOExc

  • Java数据导出功能之导出Excel文件实例

    在编程中经常需要使用到表格(报表)的处理主要以Excel表格为主.下面给出用java写入数据到excel表格方法: 1.添加jar文件 java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件.下载地址:http://www.andykhan.com/jexcelapi/ 2.jxl对Excel表格的认识 可以参见:http://www.jb51.net/article/686

  • java创建excel示例(jxl使用方法)

    使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表.因为是使用 Java编写的,所以我们在Web应用中可以通过JSP.Servlet来调用API实现对Excel数据表的访问. 复制代码 代码如下: package com.yonyou.test; import java.io.File;import java.io.IOException; import jxl.Workbook;import jxl.format.Alignment;import jxl.for

  • JAVA使用POI获取Excel的列数与行数

    前言 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑.Java程序由于其跨平台特性,不能直接操纵Excel.因此,本文探讨一下POI视线Java程序进行Excel中列数和行数的读取. 方法如下 //获取指定行,索引从0开始 hssfRow=hssfSheet.getRow(1); //获取指定列,索引从0开始 hssfCell=hssfRow.getCell((short)6); //获取总行数 //int rowNum=hssfSheet.ge

  • Java实现操作excel表格

    最近老师布置了个任务,用Java对excel后缀名为xlsx的文件进行简单的增,删,改,查操作:虽说是个简单的程序,可作为刚接触的我来说还是有些磕磕碰碰.不过好在还是完成了,进行一个简单的总结. 首先导入了一个poi.jar 网上有很多这个资源可以下载 XSSFSheet sheet=null; XSSFWorkbook book=null; 一:查  (查找本地指定位置的excel表格,在控制台输出) public void print_excel(){ //获取excel表格的行数 int

  • java poi读取excel操作示例(2个代码)

    项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两个工具.这里我们介绍使用POI实现读取excel文档. 复制代码 代码如下: /* * 使用POI读取EXCEL文件 */import java.io.File;import java.io.FileInputStream;import java.util.ArrayList; import org.apache.poi.hssf.usermodel.HSSFCell;impor

  • java常用工具类之Excel操作类及依赖包下载

    依赖包下载:http://xiazai.jb51.net/201407/tools/java-excel-dependency(jb51.net).rar Excel工具类ExcelUtil.java源码: package com.itjh.javaUtil; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStr

  • java读取excel文件并复制(copy)文件到指定目录示例

    复制代码 代码如下: mport java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List; import org.apach

  • java实现合并单元格的同时并导出excel示例

    介绍 POI提供API给Java程序对Microsoft Office格式档案读和写的功能.POI可以操作的文档格式有excel,word,powerpoint等,POI进行跨行需要用到对象HSSFSheet对象,现在就当我们程序已经定义了一个HSSFSheet对象sheet. 跨第1行第1个到第2个单元格的操作为 sheet.addMergedRegion(new Region(0,(short)0,0,(short)1)); 跨第1行第1个到第2行第1个单元格的操作为 sheet.addMe

  • 在java poi导入Excel通用工具类示例详解

    前言 本文主要给大家介绍了关于java poi导入Excel通用工具类的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 问题引入和分析 提示:如果不想看罗嗦的文章,可以直接到最后点击源码下载运行即可 最近在做一个导入Excel的功能,在做之前在百度上面查找"java通用导入Excel工具类",没有查到,大多数都是java通用导出Excel.后来仔细想想,导出可以利用java的反射,做成通用的,放进相应的实体成员变量中,导入为什么不可以呢?也是可以的,不过在做

随机推荐