Google Sheet API V4 Java, 根据列号获取列字母

Google Sheet API V4 Java, Get Column Letter from Column Number

您好:使用 Google Spreadsheet API V4 on Java,我想在给定 column number 的情况下获得 column letter。示例:列号 2 的列字母为 B.

是否已经在 Google 电子表格中提供了一些方法 API OR 是否有任何其他简单的方法可以做到这一点 OR 我需要自己编写转换吗?

尽管问题仍然是: Google Spreadsheet API V4 中是否有 native way 来获取给定列的列字母数?

但是,对于 future reference,我在下方提供 collation 以防有人需要实施自己的转换。

案例 1:根据列号获取列字母

public void ColumnNumberToLetter() {
    int inputColumnNumber = 49;
    String outputColumnName = "";
    int Base = 26;        
    String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";        

    int TempNumber = inputColumnNumber;
    while (TempNumber > 0) {
       int position = TempNumber % Base;
       outputColumnName = (position == 0 ? 'Z' : chars.charAt(position > 0 ? position - 1 : 0)) + outputColumnName;
       TempNumber = (TempNumber - 1) / Base;
    }
    System.out.println("ColumnNumberToLetter :" + inputColumnNumber + " = " +  outputColumnName);
}

案例 2:根据列字母获取列号

public void ColumnLetterToNumber() {
    String inputColumnName = "AW";
    int outputColumnNumber = 0;

    if (inputColumnName == null || inputColumnName.length() == 0) {
        throw new IllegalArgumentException("Input is not valid!");
    }

    int i = inputColumnName.length() - 1;
    int t = 0;
    while (i >= 0) {
        char curr = inputColumnName.charAt(i);
        outputColumnNumber = outputColumnNumber + (int) Math.pow(26, t) * (curr - 'A' + 1);
        t++;
        i--;
    }
    System.out.println("ColumnLetterToNumber : " + inputColumnName + " = " +  outputColumnNumber);
}

我想你也可以只使用这里提到的 R1C1 符号:

https://developers.google.com/sheets/api/guides/concepts

这让您可以使用列号而不是字母。