Stu*_*Cat 5 java excel apache-poi
假设我的列号为26,当我创建一个公式时,我的公式应该是这样的,例如:SUM(AA1:AA3).但是如何将26翻译成AA?或者说27到AB?Apache POI有没有办法将Column索引用作整数并将其转换为字母表示形式?
您将要使用Apache POI中的CellReference.这提供了转换所需的方法
对于您的特定情况,您需要convertNumToColString(int)):
接受基于0的base-10列并返回ALPHA-26表示.
这需要一些代码:
public static String columnName(int index) {
StringBuilder s = new StringBuilder();
while (index >= 26) {
s.insert(0, (char) ('A' + index % 26));
index = index / 26 - 1;
}
s.insert(0, (char) ('A' + index));
return s.toString();
}
Run Code Online (Sandbox Code Playgroud)
还有一些东西要测试它:
public static void main(String[] args) {
System.out.println(columnName(25));
System.out.println(columnName(26));
System.out.println(columnName(52));
System.out.println(columnName(27 * 26));
}
Run Code Online (Sandbox Code Playgroud)
输出:
Z
AA
BA
AAA
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1675 次 |
| 最近记录: |