我想在java中获得一个二维数组的位置。
目的:我从 CSV 文件中获取这个二维数组进行验证。所以我想通过提及它的 Cell 位置来确定哪个是无效的。
例子:
A B C D E
1 a b c d e
2 f g h i j
3 k l m n o
4 p q k r s
如果我在上面输入的代码中给出“h”,它应该给我 C2。这方面的 API 将非常有帮助。
有人可以帮我吗?
Apache POI 应该可以帮助您进行 excel 操作
使用以下方法以获得更好的结果。
private static String ConvertColumnNumberToChars( int i ){
if( i < 0 )
throw new UnsupportedOperationException("Converted number must be greater than zero.");
int iBase = 'Z' - 'A'+1;
if( iBase > Character.MAX_RADIX )
throw new UnsupportedOperationException("This JRE can't convert to radix greater than "+Character.MAX_RADIX);
String interConversion = Integer.toString(i-1, iBase).toUpperCase();
//System.out.print("inter: "+ interConversion +"; ");
char[] ac = interConversion.toCharArray();
for( int j = 0; j < ac.length; j++ ) {
int poziceOdzadu = ac.length - j - 1;
char c = ac[j];
ac[j] = (char) ('A' - poziceOdzadu + Character.digit( c, iBase ));
}
return String.copyValueOf( ac );
}
您所要做的就是向该方法输入一个 int 值,该方法要更改为列名。
String Value's Row Number+1 为 CSV 文件的行号,ConvertColumnNumberToChars(Number+1) 为列字符名。
祝你好运!