java - Google Sheet API V4 Java,从列号获取列字母

标签 java google-sheets-api

您好:在 Java 上使用 Google Spreadsheet API V4,我想在给定列号的情况下获取列字母。示例:列号 2 的列字母是 B

Google 电子表格 API 中是否已经提供了一些方法是否有任何其他简单的方法可以执行此操作我是否需要编写自己的转换?

最佳答案

尽管问题仍然是:Google Spreadsheet API V4 中是否有一种本地方式来获取给定列号的列字母?

但是,为了 future 的引用,我在下面提供了一个整理,以防有人需要实现他自己的转换。

案例 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);
}

关于java - Google Sheet API V4 Java,从列号获取列字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43097563/

相关文章:

java - 如果多个用户输入为空则返回 SQL 搜索

python - 使用 Python 和 Google Sheets API 将工作表移动到特定位置

google-sheets - 谷歌电子表格 API v4 - 寻找值(value)

google-apps-script - Google Sheets API v4 Values.update 语法

python - 如何使用 Python 从 TOML 文件中读取 Google API 凭据?

ios - Google Sheets iOS - 将文档映射到 SDK

java - 偏好 API 存储

java - Libgdx 像素化 GUI 效果

java - 行索引在 JTable 中始终显示为 -1

java - 有没有办法在 servlet 中动态触发 SSL/TLS 重新协商?