1. 程式人生 > >數字轉Excel列標

數字轉Excel列標

使用poi操作excel經常需要插入公式,如SUM(A1:C8) 實際開發過程中通常需要將數字列轉成字母列
起初以為只是個進位制轉換問題,不以為然,走了不少彎路


附上程式碼:

/**
	 * 生成EXCEL列標 0->A,25->Z,26->AA
	 * 
	 * @param num
	 * @return
	 */
	public static String to26(int num) {
		int buf[] = new int[8];
		int _num = num, pos = 7;

		do {
			buf[pos--] = num % 26 + 65;
			num = num / 26;
		} while (num != 0);
		if (_num > 25) {
			buf[pos + 1] = buf[pos + 1] - 1;// 問題就在這裡..
		}

		return new String(buf, pos + 1, (7 - pos));
	}