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
这让您可以使用列号而不是字母。
您好:使用 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
这让您可以使用列号而不是字母。