code: public static final String getString(int index) {
      	if (index < 1) throw new NumberFormatException(
      			"You can't translate a negative number into an alphabetical value.");
      	
      	index--;
      	int bytes = 1;
      	int start = 0;
      	int symbols = 26;  
      	while(index >= symbols + start) {
      		bytes++;
      	    start += symbols;
      		symbols *= 26;
      	}
      	      
      	int c = index - start;
      	char[] value = new char[bytes];
      	while(bytes > 0) {
      		value[--bytes] = (char)( 'a' + (c % 26));
      		c /= 26;
      	}
      	
      	return new String(value);
  	}
docs: Translates a positive integer (not equal to zero)
  into a String using the letters 'a' to 'z';
  1 = a, 2 = b, ..., 26 = z, 27 = aa, 28 = ab,...