0

我想在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 将非常有帮助。

有人可以帮我吗?

4

2 回答 2

0

Apache POI 应该可以帮助您进行 excel 操作

于 2012-11-18T11:30:43.503 回答
0

使用以下方法以获得更好的结果。

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) 为列字符名。

祝你好运!

于 2012-11-18T20:10:58.457 回答