下边方法主要是通过传入当前所在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();
}