Javaで2次元配列の位置を取得したいです。
目的: 検証のために CSV ファイルからこの 2 次元配列を取得します。したがって、セルの位置に言及して、どれが無効であるかを特定したいと思います。
例:
A B C D E
1 a b c d e
2 f g h i j
3klmno _
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 の Row Number+1 は CSV ファイルの Row Number で、ConvertColumnNumberToChars(Number+1) は列の文字名です。
幸運を!