`
godsend_jin
  • 浏览: 40082 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

POI导出Excel通过CellNum获取对应横向坐标

阅读更多

下边方法主要是通过传入当前所在cell的num值(+1),如当前在第一列就是1,第二列就是2....;

能够拿到当前列横向坐标如1对应'A',28对应'AB',这里没有传入rownum,可自行拼接成完整坐标。

 

private static final String [] tags = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};

private static Map tagMap;

@SuppressWarnings("unchecked")
public static Map getTagMap() {
tagMap = new HashMap();
for (int i=0;i<tags.length;i++) {
tagMap.put(i+1, tags[i]);
}
return tagMap;
}

 

/**
  * 获取cellindex 如1对应"A",28对应"AB"
  * @param row
  * @param cell
  * @return
  */
 public static String getCellTag(int cellNum){
  StringBuffer cellTag = new StringBuffer("");
  StringBuffer cellIndex = new StringBuffer("");
  int part1 = 0;
  int part2 = 0;
  do{
   part1 = cellNum / tags.length;
   part2 = cellNum % tags.length;
   if(part2 == 0){
    part1 -= 1;
    part2 = tags.length;
   }
   cellIndex.insert(0, part2+"#");
   cellNum = part1;
  }while(cellNum != 0);
  
  String [] tagArray = cellIndex.toString().split("#");
  for (String tag : tagArray) {
   cellTag.append(getTagMap().get(Integer.parseInt(tag)));
  }
  
  return cellTag.toString();
 }

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics