package com.common.base.util.excel;/*** excel 坐標計算*/
public class UtilExcelPosi {/*** deepseek生成 @ExcelProperty(index = UtilExcelPosi.pA)*/public final static int pA = 0;public final static int pB = 1;public final static int pC = 2;public final static int pD = 3;public final static int pE = 4;public final static int pF = 5;public final static int pG = 6;public final static int pH = 7;public final static int pI = 8;public final static int pJ = 9;public final static int pK = 10;public final static int pL = 11;public final static int pM = 12;public final static int pN = 13;public final static int pO = 14;public final static int pP = 15;public final static int pQ = 16;public final static int pR = 17;public final static int pS = 18;public final static int pT = 19;public final static int pU = 20;public final static int pV = 21;public final static int pW = 22;public final static int pX = 23;public final static int pY = 24;public final static int pZ = 25;/*** 計算在execl中的x坐標 AA 為27獲得字母的ascii碼* @param chars* @return*/public static int xToNumber(String chars){byte[] cc = "A".getBytes();// AB A為r_1轉的值 B為r_2轉的值int r=0,r_1=0,r_2=0;if(chars.length()==2){cc = chars.substring(0,1).getBytes();r_1=((int)cc[0]-64)*26;cc = chars.substring(1,2).getBytes();r_2=(int)cc[0]-64;r=r_1+r_2;}if(chars.length()==1){cc = chars.substring(0,1).getBytes();r=(int)cc[0]-64;}return r-1;}/**計算在execl中的x坐標 27 為 AA獲得字母的ascii碼* @param n* @return*/public static String numberToX(int n){String re="";int aStart=65;if(1<=n&&n<=26){int asciiNu=n+aStart-1;re=re+(char)(asciiNu);}if(27<=n){String re1="",re2="";int asciiNu1=n/26+aStart-1;re1=re1+(char)(asciiNu1);int asciiNu2=n%26+aStart-1;re2=re2+(char)(asciiNu2);re=re1+re2;}return re;}}